我有基于时间的数据,范围从1到500.时间在x轴上绘制,值在y轴上 .
当最小和最大数据点之间的范围很大时,y轴的起始标签为0.我可以告诉Highcharts不要通过设置 yAxis.startOnTick = false;
来显示标签,但之后是's is not really what I'm .
Here is a jsfiddle问题,你无法判断第一个点是0还是其他一些值 . 这里0也看起来y的最小范围是0而不是1 .
Highcharts可以显示第一个标签,第一个标签应始终设置为数据集中的最小值(相对于其轴) .
2 回答
我很惊讶这是多么困难 . 不是最佳解决方案,但最好的I can dream up与HighChart的api:
一个解决方案(优化Marks answer)是使用
yAxis.labels.formatter
与this.isFirst
和this.axis.dataMin
,如下所示:有关示例,请参阅this JSFiddle demo .
这样做的好处是您不必手动设置
tickInterval
,这可以节省大量的formatter
调用,并让Highcharts自己找出标签间隔 . 此外,它使用最小数据值的轴知识,而不必检查数组(您可能必须迭代以找到最小值) .请注意
yAxis.min
必须设置为合理的东西(最适合0
和正数据) . 如果y轴远远低于最小数据点,则第一个标签将不是0处的标签 .询问此问题时,
this.axis
值不可用 .