ハイチャートを使用して2つの一連のデータを表示しています。1つ目は一次データで、2つ目は初期データに基づいて計算された傾向線です。問題は、チャートタイプを変更するときに、トレンドラインを等しい系列としてカウントし、最初のトレンドラインと一緒に積み重ね/描画することです。
私は次のいずれかを試みています:
- トレンドラインデータを破線タイプのままにし、プライマリデータチャートタイプのみを変更します-
または- - トレンドラインをそのままにしておくことができない場合は、トレンドラインを削除/割引します。
私はここでjsfiddleに正確な問題を置きました。
HTMLドロップダウン:
<select id="chartType">
<option value="spline">Spline</option>
<option value="line">Line</option>
<option value="column">Column</option>
<option value="area">Area</option>
</select>
チャートタイプを変更するために使用している関数:
$('#chartType').change(function(){
changeType(chart.series, this.value);
});
function changeType(series, newType) {
serie = series[0];
serie.chart.addSeries({
type: newType,
name: serie.name,
color: serie.color,
data: serie.options.data
}, false);
serie.remove();
chart.redraw();
}
関数のプライマリデータとして使用しました。これseries[0]
は最初に読み込まれる系列であるためですが、ドロップダウンオプションをランダムに切り替えると、ほぼ系列が循環しているように見えます。トレンドラインのグラフの種類が変わります。 ..タイプを変更した後、更新されたシリーズの順序が入れ替わるようです。
アイデア/ハック/ソリューションはありますか?
シリーズデータ:
series: [
{
lineWidth: 6,
name: 'Primary data',
data: [59.359,60.395,68.830,70.290,73.259,81.344,60.113,60.113,80.644,110.929,96.731,78.104]
},
{
lineWidth: 3,
dashStyle: 'dash',
name: 'Trend-line',
color: '#999999',
shadow: 0,
data: [59.259,62.123,64.986,67.850,70.714,73.577,76.441,79.305,82.168,85.032,87.896,90.759]
}
]