我有一个使用日期(2014年2月3日,2014年2月10日等)作为类别的列图。有时有4个日期,有时有20-30个日期。我的问题是,一旦有20多个类别,x轴看起来就会混乱。有没有办法限制这些类别的显示,即使我传入的内容超出了我想要显示的范围?
我们说我通过了25个日期,范围在2/1/2014和2014年3月15日之间。有没有办法只显示5个,最好是每个之间有相同的时间(例如:2/1 / 14,2 / 10 / 14,2 / 20 / 14,2 / 28 / 14,3 / 10 / 14,3 / 15/14)
答案 0 :(得分:3)
可能为时已晚,但这应该是您需要的功能:
xAxis: {
categories: ['1', '2', '3', '4', '5'],
labels:{
step: 2 // displays every second category
}
}
在您的情况下,您希望在运行时设置选项,所以:
if(chart.xAxis[0].names.length>12){
interval=parseInt(chart.xAxis[0].names.length/12);
chart.xAxis[0].update({labels:{step: interval}});
}
还有一个名为tickInterval的选项,它可能对此有用。
答案 1 :(得分:0)
原来我发现了一个非常简单的解决方案。以下是我用来确保x轴上显示的类别不超过12个的代码:
//we want a max of 12 labels to avoid clutter
if(xData.length>12)
{
//determine label interval
interval=parseInt(xData.length/12);
for(j=0;j<xData.length;j++)
{
if(j%interval==0)
{
tempLabels.push(xData[j]);
}
else
{
tempLabels.push(' ');
}
}
//transfer new labels
xData=tempLabels;
}