我有一个每x次更新的实时图表。下面包括使用虚拟变量的图像。我想要的是Highcharts只标记第一个,中间个和最后一个。或者我不会用刻度线向我的图表标签发送垃圾邮件。
目前我的xAxis看起来像这样:
xAxis: {
crosshair: true,
type: "categories",
categories: xaxis
},
没有什么不寻常的。我尝试添加一个tickInterval,但从长远来看,这并没有真正解决问题。基本上我需要的是tickInterval的反面,其中ticks在一定间隔后被删除。与highcharts当前具有的datetime API不同。这里的区别在于,这个数据不能由我自己生成,而是由我正在使用的API生成,它会显示出如图所示的x轴标签。
答案 0 :(得分:1)
过了一会儿,如果图表上显示的xAxis标签太多,它们的数量会自动减少(第一个例子)。虽然,如果您愿意,您可以使用几种解决方案。最好的方法是使用tickPositioner
仅显示第一个,中间和最后一个标签,并使用Highcharts.dateFormat
内的xAxis.labels.formatter
格式化它们(第二个示例)。您还可以设置更大step
xAxis.labels
(第三个示例)。
API参考:
http://api.highcharts.com/highcharts/xAxis.tickPositioner
http://api.highcharts.com/highcharts/Highcharts.dateFormat
http://api.highcharts.com/highcharts/xAxis.labels.step
例:
http://jsfiddle.net/vxjdwer7/ - 默认行为
http://jsfiddle.net/30t45zvq/ - 使用tickPositioner
http://jsfiddle.net/6g9uvokL/ - 使用步骤