对于Highcharts,我希望y轴最大值略大于最大数据点,但绝对不能超过“ 100”。
我尝试将max设置为100,问题是每当数据点太小(例如12)时,线路就会被下推。在这种情况下,最大值不应为100,而应略大于12。
这是一个小片段。 https://codepen.io/thushara07/pen/qQWjZG
var data = [{
time: "13:20",
key2: "",
key3: ""
}, {
time: "13:40",
key2: "",
key3: ""
}, {
time: "04:20:10",
key2: "",
key3: ""
}, {
time: "04:20:20",
key2: "",
key3: ""
}];
function getAddedTimeValue(time) {
const parts = [...time.split(':'), 0, 0, 0, 0].slice(0, 4);
const date = new Date();
date.setHours.apply(date, parts);
return date.getTime();
}
data.sort((a, b) => getAddedTimeValue(a.time) - getAddedTimeValue(b.time));
// For descending:
// data.sort((a, b) => getAddedTimeValue(b.time) - getAddedTimeValue(a.time));
console.log(data)
预期:最大值应大于最大数据点,但不得超过100。
答案 0 :(得分:0)
在load
图表事件中,可以检查轴max
属性,并在必要时使用setExtremes
:
chart: {
...,
events: {
load: function() {
var yAxis = this.yAxis[0];
if (yAxis.max > 100) {
yAxis.setExtremes(null, 100, true, false);
}
}
}
},
实时演示:http://jsfiddle.net/BlackLabel/moyr4xec/
API参考:https://api.highcharts.com/class-reference/Highcharts.Axis#setExtremes