[英]How to apply dollar sign in Y- axis in chart js?
我正在处理图表js,我想在Y轴上应用美元符号,因此我尝试了一些选项,但它不起作用,有人可以帮我吗,这是我的代码
function earning_one_time_purchase() {
var monthsData = {
labels: <?php echo $t->one_time_purchase_month_chart; ?>,
datasets: [
{
fillColor: "<?php echo $graph_color_code; ?>", //"rgba(172,194,132,0.4)",
strokeColor: "<?php echo $graph_line_color_code; ?>",
pointColor: "#fff",
pointStrokeColor: "#9DB86D",
data: <?php echo $t->one_time_purchase_amount_chart; ?>
}
],
options: {
scales: {
yAxes: [{
ticks: {
// Include a dollar sign in the ticks
callback: function(value, index, values) {
alert(value);
return '$' + value;
}
}
}]
}
}
};
var months = document.getElementById("eChart_1").getContext("2d");
new Chart(months).Line(monthsData);
}
如果使用的是Chart.js 1.x版,则可以使用scaleLabel
键自定义刻度scaleLabel
。
var options = {
scaleLabel: function(label){return '$' + label.value}
};
请注意,在创建图表时,应将options对象作为第二个参数传递,而不是将其包含在monthsData
。
const labels = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'June', 'July', 'Aug', 'Sept', 'Oct', 'Nov', 'Dec']; const initialData = [{'x':'Apr', 'y':40},{'x':'July', 'y':70},{'x':'Dec', 'y':120}]; const filledMonths = initialData.map((month) => month.x); const dataSet = labels.map(month => { const indexOfFilledData = filledMonths.indexOf(month); if( indexOfFilledData !== -1) return initialData[indexOfFilledData].y; return 0; }); var monthsData = { labels: labels, datasets: [ { label: "My First dataset", fillColor: "rgba(220,220,220,0.2)", strokeColor: "rgba(220,220,220,1)", pointColor: "rgba(220,220,220,1)", pointStrokeColor: "#fff", pointHighlightFill: "#fff", pointHighlightStroke: "rgba(220,220,220,1)", data: dataSet } ] }; var options = { scaleLabel: function(label){return '$' + label.value} }; var ctx = document.getElementById("myChart").getContext("2d"); var chart = new Chart(ctx).Line(monthsData, options);
<script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/1.1.1/Chart.min.js"></script> <canvas id="myChart" width="300" height="300"></canvas>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.