是否可以更改缩放或其他与缩放相关的参数,以便在 Highcharts 中动态设置 tickInterval?
Is it possible to get a statechange of the zoom or other zoom-related parameters in order to dynamically set tickInterval in Highcharts?
编辑:fiddle 此处:https://jsfiddle.net/o9sjyxqf/ .
由于我继续从事 Highcharts 项目,出现了这个问题。
关于x轴上的刻度线。
我有一个 Highchart,其中包含特定时间段(例如 6 个月)的每日数据点。所以当图表显示 6 个月时,我有大约 6x30 个数据点。放大时,会更少,例如3 周(3x21 个数据点)。
在不缩放的情况下查看时,数据点太多,xAxis 上的刻度线杂乱无章。减少 tickInterval 可以使它变得整洁。但是放大时 xAxis 上的刻度线不够多。
我想在使用缩放时以编程方式注册(一个事件?),理想情况下还有缩放到什么,以便可以相应地设置 tickInterval(动态地,更高的 tickInterval 值用于缩小,较低的值 tickInterval 用于放大)。
这可能吗?是否有事件或类似事件记录了缩放的使用?如果无法根据缩放动态更改 tickInterval,您还有什么其他建议可以使 xAxis 标记在放大和缩小时保持整洁?
演示:
加载图表时(设置/放大起点和终点):
缩小时:
感谢您的帮助和支持!
您可以使用 setExtremes
事件回调函数并根据 min
和 max
值更新滴答间隔。
xAxis: {
type: 'datetime',
events: {
setExtremes: function(e) {
const interval = (e.max - e.min) / 6;
this.update({
tickInterval: interval
}, false);
}
}
}
您也可以考虑使用minTickInterval
或tickPixelInterval
。
现场演示: http://jsfiddle.net/BlackLabel/d1Lbj9xh/
API参考:
https://api.highcharts.com/highcharts/xAxis.events.setExtremes
https://api.highcharts.com/highcharts/xAxis.minTickInterval
https://api.highcharts.com/highcharts/xAxis.tickPixelInterval
编辑:fiddle 此处:https://jsfiddle.net/o9sjyxqf/ .
由于我继续从事 Highcharts 项目,出现了这个问题。
关于x轴上的刻度线。
我有一个 Highchart,其中包含特定时间段(例如 6 个月)的每日数据点。所以当图表显示 6 个月时,我有大约 6x30 个数据点。放大时,会更少,例如3 周(3x21 个数据点)。
在不缩放的情况下查看时,数据点太多,xAxis 上的刻度线杂乱无章。减少 tickInterval 可以使它变得整洁。但是放大时 xAxis 上的刻度线不够多。
我想在使用缩放时以编程方式注册(一个事件?),理想情况下还有缩放到什么,以便可以相应地设置 tickInterval(动态地,更高的 tickInterval 值用于缩小,较低的值 tickInterval 用于放大)。
这可能吗?是否有事件或类似事件记录了缩放的使用?如果无法根据缩放动态更改 tickInterval,您还有什么其他建议可以使 xAxis 标记在放大和缩小时保持整洁?
演示:
加载图表时(设置/放大起点和终点):
缩小时:
感谢您的帮助和支持!
您可以使用 setExtremes
事件回调函数并根据 min
和 max
值更新滴答间隔。
xAxis: {
type: 'datetime',
events: {
setExtremes: function(e) {
const interval = (e.max - e.min) / 6;
this.update({
tickInterval: interval
}, false);
}
}
}
您也可以考虑使用minTickInterval
或tickPixelInterval
。
现场演示: http://jsfiddle.net/BlackLabel/d1Lbj9xh/
API参考:
https://api.highcharts.com/highcharts/xAxis.events.setExtremes
https://api.highcharts.com/highcharts/xAxis.minTickInterval
https://api.highcharts.com/highcharts/xAxis.tickPixelInterval