ハイチャートの折れ線グラフでも同様のことを行っていますが、この概念は縦棒グラフにも当てはまります (明示的に試したことはありませんが、他のタイプもあると思います)。解決策は、X 軸にあるカテゴリの数と同じ長さの「非表示のシリーズ」をチャートに作成することに依存しています。
まず、Highcharts オプション オブジェクトでチャートのchart.ignoreHiddenSeriesオプションを true に設定します。次に、シリーズを作成するときに、シリーズのvisibleオプションを false に設定し (または、シリーズを作成するときにhide()を呼び出すこともできます)、シリーズのshowInLegendオプションも false に設定します。
効果を示す jsFiddle は次のとおりです: http://jsfiddle.net/8PpDN/1/。このフィドルは、 API ドキュメントで提供されているchart.ignoreHiddenSeriesの例から分岐しました。
クイック リファレンスとして、フィドルの JavaScript コードを次に示します。非表示の系列データ配列には、xAxis のカテゴリと同じ数の 0 があることに注意してください。
$(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 に設定)、同じ効果を実現します。
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 軸の拡張の長さを操作できます。
これが役立つことを願っています!