2016-01-20 97 views
0

我按年份对数据进行了分组,并且只想显示2个小节(2014 + 2015)。Highcharts - 仅显示xAxis中的年份

任何想法为什么highchart还包括酒吧之间的月份?

"chart": { 
     "type": "column" 
    }, 
    "plotOptions": { 
     "column": { 
     "stacking": "normal" 
     }, 
    }, 
    "series": [ 
    { 
     "data": [ 
     [1388534400000,88] 
     ], 
     "name": "First", 
     "id": "series-8" 
    }, 
    { 
     "data": [ 
     [1388534400000,39] 
     ], 
     "name": "2nd", 
     "id": "series-9" 
    }, 
    { 
     "data": [ 
     [1420070400000,34] 
     ], 
     "name": "3rd", 
     "id": "series-10" 
    } 
    ], 
    "xAxis": { 
    "type": "datetime", 
    "dateTimeLabelFormats": { 
     "year": "%Y" 
    } 
    } 

的jsfiddle:http://jsfiddle.net/747hs83s/

我想只有2014年和2015年对x轴标签。

回答

1

您可以定义一个pointRange至1年(365 * 24 * 3600 * 1000,以毫秒为单位的时间),并使用相同的值设置tickInterval。

"plotOptions": { 
    "column": { 
    pointRange: 365 * 24 * 3600 * 1000, 
    "stacking": "normal" 
    }, 
}, 
"xAxis": { 
    tickInterval: 365 * 24 * 3600 * 1000, 
    "type": "datetime", 
    "dateTimeLabelFormats": { 
    "year": "%Y" 
    } 
} 

例子:http://jsfiddle.net/3d3jzywq/

+1

我得到了它与tickInterval的工作,谢谢! – Hese

1

“为什么图表会显示月份”的答案仅仅是您的数据点之间会显示几个月,而图表无法知道您不希望它显示它们。

可能有多种解决方案,但一个我用的是pointRange属性 - 告诉大家,每一列代表一年的图表,这将相应地显示它:

pointRange:86400000 * 365//one year 

例子:

默认情况下,它会显示年标签。如果您显示/隐藏系列,可能会改变。还有很多方法可以对标签进行格式化。

标签格式引用: