Thêm vào Julian D's very good answer, mục sau tránh được sự cố định vị lại nếu giá trị tối đa được tính của bạn thay đổi theo số chữ số đến giới hạn trên bạn muốn.
Trong trường hợp của tôi, tôi có tỷ lệ phần trăm hiện đang đi vào 20 nhưng tôi muốn có khoảng từ 0 đến ít nhất 100, với khả năng vượt quá 100 nếu được yêu cầu, vì vậy các bộ sau đây tối thiểu & tối đa trong mã nếu dataMax trở thành cao hơn, chỉ định lại tối đa giá trị của nó. Điều này có nghĩa là định vị biểu đồ luôn được tính toán với đủ chỗ cho giá trị 3 chữ số, thay vì được tính cho 2 chữ số sau đó bị hỏng bằng cách ép "100" vào, nhưng cho phép tối đa "999" trước khi có vấn đề tiếp theo.
var chart = new Highcharts.Chart({
chart: {
renderTo: 'container',
events: {
load: function(event) {
thisSetMax = this.yAxis[0].getExtremes().max;
thisDataMax = this.yAxis[0].getExtremes().dataMax;
if (thisDataMax > thisSetMax) {
this.yAxis[0].setExtremes(0, thisDataMax);
alert('Resizing Max from ' + thisSetMax + ' to ' + thisDataMax);
}
}
}
},
title: {
text: 'My Graph'
},
xAxis: {
categories: ['Jan 2013', 'Feb 2013', 'Mar 2013', 'Apr 2013', 'May 2013', 'Jun 2013']
},
yAxis: {
min: 0,
max: 100,
title: {
text: '% Due Tasks Done'
}
}
//Etc...
});
Nguồn
2013-11-06 16:55:58
Bạn có thể tránh nhấp nháy vẽ lại bằng cách đặt biểu đồ tại sự kiện 'tải':' new Highcharts.Chart ({ biểu đồ: { sự kiện: { tải: function (event) {if (this.yAxis [0 ] .getExtremes(). dataMax <10) { this.yAxis [0] .setExtremes (0, 10); }}}, ...}, ...}); ' –
Quá tệ không có một cách để làm điều này một cách rõ ràng hơn. Có lẽ tôi sẽ ngã ba repo và sửa chữa nó nếu tôi nhận được một vài phút. –
xem câu trả lời của Ondkloss –