获取使用 Chart.js 渲染的折线图 y 轴的最大值

Emd*_*dee 5 chart.js

我使用 Chart.js 来渲染一个分散的折线图,效果很好。对于渲染算法,我需要找出 y 轴上显示的最高值,所以假设我在数据集中的“最大”点有 y = 248,因此 y 轴显示 250 作为最大值。我需要找出它是 250。

我试图在运行时检查图表对象,如下所示:

lineChart.options.scales[0].ticks.??
Run Code Online (Sandbox Code Playgroud)

但似乎我只能以编程方式找出我自己设置的设置。

同时查看全面的 Chart.js 文档并没有指出我的解决方案。

任何建议如何计算这个值?

San*_*utt 11

有回调方法,您可以在其中获取将显示在 yAxes 上的值数组。
该数组的第一个元素将是 yAxes 的最大值。下面是相同的示例代码。

var yAxesticks = [];
var highestVal;
var chartInstanceHoverModeNearest = new Chart(ctx, {
                type: 'bar',
                data: data,
                options:{
                    scales: {
                        yAxes : [{
                            ticks : {
                                beginAtZero : true,
                                callback : function(value,index,values){
                                    yAxesticks = values;
                                    return value;
                                }
                            }
                        }]
                    }
                }
            });

 highestVal = yAxesticks[0];
Run Code Online (Sandbox Code Playgroud)