P粉3161107792023-08-30 00:43:35
如果您只想更改 y 轴标签的文本,可以通过设置函数 options.scales.y.ticks.callback
来完全更改它们,请参阅文档 和 API 参考了解详细信息。在您的情况下,要使负值读为正值,您可以使用:
callback: function(val){ return this.getLabelForValue(Math.abs(val)); }
或
callback: function(val){ return this.getLabelForValue(val).replace(/^-/, ''); }
var ctx = document.getElementById('chart1');
var MONTHS = [
"January",
"February",
"March",
"April",
"May",
"June",
"July",
"August",
"September",
"October",
"November",
"December",
];
var barChartData = {
labels: ["January", "February", "March", "April", "May", "June", "July"],
datasets: [
{
label: "Dataset 1",
backgroundColor: 'rgba(255, 201, 14, 1)',
borderColor: 'rgba(255, 201, 14, 1)',
borderWidth: 1,
data: [
10,
20,
30,
40,
50
],
},
{
label: "Dataset 2",
backgroundColor: 'rgba(255, 201, 14, 1)',
borderColor: 'rgba(255, 201, 14, 1)',
borderWidth: 1,
data: [
-100,
-200,
-300,
-400,
-500
],
},
],
};
new Chart(ctx, {
type: "bar",
data: barChartData,
options: {
responsive: true,
legend: {
position: "top",
},
title: {
display: true,
text: "Chart.js Bar Chart",
},
scales:{
y: {
ticks: {
callback: function(val){
return this.getLabelForValue(Math.abs(val));
// or: //return this.getLabelForValue(val).replace(/^-/, '');
},
}
}
},
},
});
<canvas id="chart1" style="height:500px"></canvas>
<script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/4.1.2/chart.umd.js"
integrity="sha512-t41WshQCxr9T3SWH3DBZoDnAT9gfVLtQS+NKO60fdAwScoB37rXtdxT/oKe986G0BFnP4mtGzXxuYpHrMoMJLA==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>