設計者は、最初/最後の目盛りで開始/停止するのではなく、プロット ラインが使用可能なチャート幅の 100% を消費するように積み上げ面グラフをレンダリングするように要求しました。これは、私たちが達成しようとしていることを示す、デザイナーによって提供されたモックアップです。
http://oi50.tinypic.com/25s2bzm.jpg
現在、グラフは次のように表示されますが、プロット ラインがグラフの幅を消費しないことに注意してください。
$(function () {
var chart;
$(document).ready(function() {
Highcharts.setOptions({
colors: ['#1FA5FF', '#9BD237', '#E6673B']
});
chart = new Highcharts.Chart({
chart: {
renderTo: 'container',
type: 'area'
},
title: {
text: null
},
exporting: {
enabled: false
},
legend: {
enabled: false
},
credits: {
enabled: false
},
xAxis: {
categories: ['Mar 2012', 'Apr 2012', 'May 2012', 'Jun 2012', 'Jul 2012', 'Aug 2012', 'Sep 2012'],
tickmarkPlacement: 'on',
title: {
enabled: false
}
},
yAxis: {
title: {
text: null
}
},
plotOptions: {
area: {
fillOpacity: 0.3,
stacking: 'normal',
lineWidth: 3,
marker: {
lineWidth: 3,
enabled: false
}
}
},
series: [{
name: 'John',
data: [30, 26, 18, 35, 30, 28, 40, 31]
}, {
name: 'Jane',
data: [40, 35, 37, 33, 30, 42, 30, 26]
}, {
name: 'Bob',
data: [26, 33, 28, 20, 35, 33, 35, 20]
}]
});
});
私はAPIを調べて周りを検索しましたが、それが可能であると仮定して、これを達成するために設定する必要があるオプションを見つけられませんでした(または見逃した可能性があります). 助けてくれてありがとう。
更新:解決策は xAxis の最小プロパティと最大プロパティを設定することなので、これを反映するように上記を更新しました。ただし、これは最初と最後のデータ ポイントを除外するため、チャート データを切り捨てます。そのため、カテゴリと series.data 配列にダミーの値を追加して、データが Ajax 経由で返されるオブジェクトであることに注意して回避します。チャートを作成します。
data.categories.unshift('');
data.categories.push('');
for (var i = 0, len = data.series.length; i < len; i++) {
data.series[i].data.unshift(0);
data.series[i].data.push(0);
}
xAxis の最小/最大は、次のように設定されます。
xAxis: {
min: 1,
max: data.categories.length - 2 // 2nd to last index
}