Highcharts热力图:Y轴为何不遵循设置的范围限制?
解决Highcharts热力图Y轴未遵守datetime范围限制的问题
问题描述
我制作了一个热力图,尝试将X轴和Y轴的范围限制在2023年9月1日至10月31日,配置了X、Y轴的min和max为对应的UTC时间,但Y轴并未遵循该范围限制。
配置代码片段:
xAxis: { type: 'datetime', min: Date.UTC(2023, 8, 1), max: Date.UTC(2023, 9, 31) }, yAxis: { type: 'datetime', min: Date.UTC(2023, 8, 1), max: Date.UTC(2023, 9, 31) },
解决方案
问题出在Highcharts datetime轴的默认行为上:
- 默认开启的
startOnTick和endOnTick会强制轴范围对齐到最近的刻度,覆盖你手动设置的min/max - 若X、Y轴均为datetime类型,默认的
alignTicks会让两个轴刻度对齐,也会干扰Y轴范围
只需在Y轴配置中添加三个属性即可解决:
yAxis: { type: 'datetime', min: Date.UTC(2023, 8, 1), max: Date.UTC(2023, 9, 31), startOnTick: false, // 禁止从刻度开始轴范围 endOnTick: false, // 禁止到刻度结束轴范围 alignTicks: false // 关闭与X轴的刻度对齐 },
额外检查点
如果修改后仍未生效,请确认热力图的data中是否存在超出设置范围的点——Highcharts默认会显示所有数据点,若数据超出范围会自动扩展轴边界。此时可以手动过滤数据,确保所有点都在你设定的日期范围内。
内容的提问来源于stack exchange,提问作者Francesco Gallarotti
相关产品推荐
相关产品推荐

