从 y 轴图表中获取 min/lowest 标签的值
Get value of min/lowest label from y-axis chart
我试图在我的图表中获得最低的 y 轴 label/value。 y 轴标签是 dynamically/automatically 添加的,因为我有意不将其设置为从零开始。我如何从图表中获取最低标签的值(下例中的 30
)?
我试过了:myLineChart.options.scales.yAxes[0].ticks.min;
但只有 returns undefined
:
var ctx = document.getElementById('myChart').getContext('2d');
var data = {
labels: ["data1", "data2", "data3", "data4", "data5", "data6"],
datasets: [{
label: "Sample data",
data: [128, 56, 47, 64, 125, 36],
borderColor: "rgba(0, 128, 0, 1)"
}]
};
var myLineChart = new Chart(ctx, {
type: "line",
data: data
});
console.log(myLineChart.options.scales.yAxes[0].ticks.min); // returns `undefined`
<script src="https://cdn.jsdelivr.net/npm/chart.js@2.8.0"></script>
<canvas id="myChart" width="200" height="100"></canvas>
我对 myLineChart 对象进行了一些挖掘,发现到达 y 轴刻度的路径是:
myLineChart.ticks.boxes[0].chart.scales['y-axis-0'].ticks.
下面的代码片段展示了我使用它来输出最低值。
或者,如果您将 chartJs 至少升级到 3.1 版(这是我在项目中使用的版本),图表对象结构将更易于导航。在 ChartJs 3.1 中,答案看起来像:myLineChart.scales.y.min
var ctx = document.getElementById('myChart').getContext('2d');
var data = {
labels: ["data1", "data2", "data3", "data4", "data5", "data6"],
datasets: [{
label: "Sample data",
data: [128, 56, 47, 64, 125, 36],
borderColor: "rgba(0, 128, 0, 1)"
}]
};
var myLineChart = new Chart(ctx, {
type: "line",
data: data
});
console.log(myLineChart.boxes[0].chart.scales['y-axis-0'].ticks[myLineChart.boxes[0].chart.scales['y-axis-0'].ticks.length - 1])
<script src="https://cdn.jsdelivr.net/npm/chart.js@2.8.0"></script>
<canvas id="myChart" width="200" height="100"></canvas>
我试图在我的图表中获得最低的 y 轴 label/value。 y 轴标签是 dynamically/automatically 添加的,因为我有意不将其设置为从零开始。我如何从图表中获取最低标签的值(下例中的 30
)?
我试过了:myLineChart.options.scales.yAxes[0].ticks.min;
但只有 returns undefined
:
var ctx = document.getElementById('myChart').getContext('2d');
var data = {
labels: ["data1", "data2", "data3", "data4", "data5", "data6"],
datasets: [{
label: "Sample data",
data: [128, 56, 47, 64, 125, 36],
borderColor: "rgba(0, 128, 0, 1)"
}]
};
var myLineChart = new Chart(ctx, {
type: "line",
data: data
});
console.log(myLineChart.options.scales.yAxes[0].ticks.min); // returns `undefined`
<script src="https://cdn.jsdelivr.net/npm/chart.js@2.8.0"></script>
<canvas id="myChart" width="200" height="100"></canvas>
我对 myLineChart 对象进行了一些挖掘,发现到达 y 轴刻度的路径是: myLineChart.ticks.boxes[0].chart.scales['y-axis-0'].ticks.
下面的代码片段展示了我使用它来输出最低值。
或者,如果您将 chartJs 至少升级到 3.1 版(这是我在项目中使用的版本),图表对象结构将更易于导航。在 ChartJs 3.1 中,答案看起来像:myLineChart.scales.y.min
var ctx = document.getElementById('myChart').getContext('2d');
var data = {
labels: ["data1", "data2", "data3", "data4", "data5", "data6"],
datasets: [{
label: "Sample data",
data: [128, 56, 47, 64, 125, 36],
borderColor: "rgba(0, 128, 0, 1)"
}]
};
var myLineChart = new Chart(ctx, {
type: "line",
data: data
});
console.log(myLineChart.boxes[0].chart.scales['y-axis-0'].ticks[myLineChart.boxes[0].chart.scales['y-axis-0'].ticks.length - 1])
<script src="https://cdn.jsdelivr.net/npm/chart.js@2.8.0"></script>
<canvas id="myChart" width="200" height="100"></canvas>