1つのカテゴリで4つの値を持つ縦棒グラフを使用しようとしています。グラフの初期レンダリングは正常に動作します。ただし、series [0] .setData()メソッドを使用してデータを更新すると、単一のカテゴリを更新するのではなく、4つのカテゴリが作成されます。ここでHighcharts欄のチャートで単一カテゴリのデータを更新する
は、私は私がここで間違ってやっているかを把握することができませんjsfiddle link
$(function() {
var chart;
$(document).ready(function() {
chart = Highcharts.chart('container', {
chart: {
type: 'column'
},
title: {
text: 'Packet Summary Stats'
},
subtitle: {
text: 'Source: ABC'
},
xAxis: {
categories: [
'Packet Summary'
],
crosshair: true
},
yAxis: {
min: 0,
title: {
text: 'Packet Count'
}
},
tooltip: {
headerFormat: '<span style="font-size:10px">{point.key}</span><table>',
pointFormat: '<tr><td style="color:{series.color};padding:0">{series.name}: </td>' + '<td style="padding:0"><b>{point.y}</b></td></tr>',
footerFormat: '</table>',
shared: true,
useHTML: true
},
plotOptions: {
column: {
pointPadding: 0.2,
borderWidth: 1
}
},
series: [{
"data": [100],
"name": "Rx"
}, {
"data": [90],
"name": "Tx"
}, {
"data": [10],
"name": "Dropped"
}, {
"data": [10],
"name": "No Match"
}]
});
});
$('#button').click(function() {
chart.series[0].setData([
[200],
[180],
[20],
[20]
]);
});
});
です。どんな助けもありがとうございます。
おかげ
としてチャートを更新する必要があります:あなたは、4つの異なるシリーズを持って、1つのデータポイントを持つ各。しかし、更新関数を呼び出すと、4つのデータポイントで1つの系列( 'chart.series [0]')のみを更新します。チャートは、シリーズ1の3つの追加データポイントに合う3つの新しいカテゴリを追加し、シリーズ2-4のために追加するデータはありません。それぞれのシリーズごとに 'setData()'を呼び出す必要があります(*、または4つの異なるシリーズを使用しないでください - 単一のシリーズを代わりに使用することでコードとビジュアルディスプレイを単純化することができます...) – jlbriggs
シングルシリーズ:http://jsfiddle.net/jlbriggs/mhuzmnev/ – jlbriggs
正しい答えについては、作業コードだけでは不十分です。適切な説明も書かれています。説明のためにありがとう –