我在做類似的事情了Highcharts折線圖,但這個概念適用於柱形圖以及(我懷疑其他類型太多,雖然我還沒有明確的嘗試)。該解決方案依賴於在圖表中創建「隱藏系列」,與您在X軸上具有的類別數量一樣長。
首先,您需要在Highcharts選項對象中將圖表的chart.ignoreHiddenSeries選項設置爲true。然後,在創建系列時,將該系列的visible選項設置爲false(或者,您可以在創建系列時調用hide()),並將該系列的showInLegend選項設置爲false。
這是一個顯示效果的jsFiddle:http://jsfiddle.net/8PpDN/1/。這個小提琴從API docs中提供的chart.ignoreHiddenSeries的例子中分出來。
快速參考,這裏是小提琴的JavaScript代碼。請注意,隱藏序列數據數組中有多個0,因爲xAxis上有類別。
$(function() {
$('#container').highcharts({
chart: {
ignoreHiddenSeries: true,
type: 'column'
},
xAxis: {
categories: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']
},
series: [
{data: [100, 60]},
{data: [0,0,0,0,0,0,0,0,0,0,0,0], visibility:'hidden', showInLegend:false}
]
});
});
現在,由於x軸下存在類別標籤,因此沒有出現在屏幕快照中,因此不完全符合要求。在這種情況下,只需爲類別標籤提供空字符串,並完全消除勾號(將xAxis選項中的minorTickLength和tickLength設置爲0)即可達到相同的效果。
這裏是的jsfiddle表示:http://jsfiddle.net/BMncj/1/和再次從小提琴的JavaScript代碼:
$(function() {
$('#container').highcharts({
chart: {
ignoreHiddenSeries: true,
type: 'column'
},
legend: {enabled:false},
xAxis: {
categories: ['Series 1', 'Series 2', '', '', '', '', '', '', '', '', '', ''],
minorTickLength:0,
tickLength:0
},
series: [
{data: [100, 60]},
{data: [0,0,0,0,0,0,0,0,0,0,0,0], visibility:'hidden', showInLegend:false}
]
});
});
從這裏也可以通過調整種類的數量與X軸延伸的長度發揮,和/或調整前面提到的間隔選項。
我希望這有助於!
在數據中添加一些空值 –