【问题标题】:ChartJS linechart edit yAxis labelsChartJS 折线图编辑 y 轴标签
【发布时间】:2017-02-01 14:54:45
【问题描述】:

试图让 ChartJS 中的折线图按照我们客户的意愿工作,但我遇到了一个问题:当整周的数据(我们做销售)为 0 时,yAxis 上绘制的标签如下0 - 这是我们的客户不想要的。我查看了 scaleoverridesuggestedMinbeginAtZero,但都没有奏效。

如何更改标签,使其始终至少为 0?

下面的免费图片,以可视化问题:

代码(使用我尝试过的一种不起作用的方法):

var canvas = document.getElementById('salesChart').getContext('2d');
salesChart = new Chart(canvas, {
    type: 'line',
    scaleOverride: true,
    scaleSteps: 10,
    scaleStepWidth: 20,
    scaleStartValue: 0,
    data: {
        labels: chartLabels,
        datasets: [{
            label: 'Sales',
            data: chartData,
            backgroundColor: "rgba(37,185,153,0.7)"
        }],
    },
    options: {
        maintainAspectRatio: false,
        responsive: true
    }
});

【问题讨论】:

    标签: chart.js linechart


    【解决方案1】:

    这对我有用:

    options: {
        maintainAspectRatio: false,
        responsive: true,
         scales: {
            yAxes: [{
                ticks: {
                    beginAtZero:true
                }
            }]
        }
    }
    

    注意:我保留了图表配置的其余部分。您没有明确提供 chartLabels 和 chartData 变量,所以我使用了:

    var chartLabels = ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'];
    var chartData = [0, 0, 0, 0, 0, 0, 0];
    

    小提琴:https://jsfiddle.net/3c4yq5oq/

    【讨论】:

    • 感谢您的回复。我试过你说的,但还是不行。我还尝试从您的帖子中复制+粘贴整个 options 块。关于标签的道歉;它们是动态制作的。你也许有一个有用的fiddle
    • @Zubaja 我刚刚将它添加到答案的末尾
    • 感谢您的更新。不知道发生了什么,但在某个时候(在我之前的回复和这个回复之间),您的解决方案奏效了。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-09-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多