【问题标题】:chartJS line chart not plotting values that are less than minYchartJS 折线图未绘制小于 minY 的值
【发布时间】:2020-01-27 06:26:53
【问题描述】:

我在使用chart-js lib 绘制折线图时遇到问题。

这是代码笔:https://codepen.io/bhupendra1011/pen/gObEpJQ,我在其中设置了最小 Y 值,如下所示:

    yAxes: [{
          ticks: {
            min: minY,          
            maxTicksLimit:5
                    
                },
            gridLines: {
                display:false
            }   
        }]

但是,如果值小于 minY,则无法绘制值,如果我删除 minY 选项,则所有折线图都是可见的,但在我的场景中,我希望图形具有一些初始值。

我也尝试使用下面的代码而不是设置 minY :

afterBuildTicks: function(scale, ticks) {
    return [minY].concat(ticks.filter(tick => tick >= minY));
}

虽然所有绘制的线都是可见的,但图形的初始位置会在选择不同系列选项时发生变化。这是相同的代码笔:https://codepen.io/bhupendra1011/pen/bGNJNBw

我希望图表从某个初始值开始,还应绘制小于初始值的值,并且在更新图表时,图表的初始位置不应改变。

谢谢

【问题讨论】:

    标签: javascript chart.js chart.js2 chartjs-2.6.0


    【解决方案1】:

    将 minY 设置为数据数组中的最小元素:

    Array.min = function( array ){
        return Math.min.apply( Math, array );
    };
    

    【讨论】:

    • 嗨@DadyByte,我希望将初始值固定为数组中的第一项。如 codepen.io/bhupendra1011/pen/gObEpJQ 。如果有任何值小于初始值,也应该在其下方绘制
    • @Bhupendra,我看到了您的代码,在您的代码中,您将数组的第 0 个元素作为 minY,因为 minY 以下的值没有显示。 minY 表示如果要显示较小的数字,Y 轴将从该数字开始,然后相应地更改 minY。希望这会有所帮助。
    • 我又创建了一个示例 - codepen.io/bhupendra1011/pen/bGNJNBw。在这里,我使用 afterBuildTicks 过滤刻度。在这种情况下,所有值都是可见的,但是当更改系列选项时,图形的初始位置会发生变化:高/低/中。是否可以固定图形的位置,图形的更新而不改变它的位置,就像它在codepen.io/bhupendra1011/pen/gObEpJQ
    猜你喜欢
    • 2017-10-05
    • 1970-01-01
    • 1970-01-01
    • 2015-07-15
    • 2018-04-04
    • 2015-08-01
    • 1970-01-01
    • 2013-05-23
    • 2016-07-31
    相关资源
    最近更新 更多