0

シリーズの新しいデータセットを表示するためにハイチャートに再描画機能を追加したいのですが、ivはボタンを作成しましたが、コードの背後に苦労しています。

HTML:

<div id="container" style="min-width: 400px; height: 400px; margin: 0 auto"></div>
<button id="button">redraw </button>

JS:

function loadA(chart) {
    chart.xAxis[0].update({
        categories: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']
    });
    chart.yAxis[0].setTitle({
        text: "kHw"
    });
    chart.addSeries({
        name: 'Rainfall11',
        type: 'column',
        color: '#08F',
        data: [100, 200, 300, 400, 100, 200, 0, 0, 0, 0, 0, 0]
    });
    chart.addSeries({
        name: 'Rainfall2',
        type: 'column',
        color: '#808000',
        data: [100, 200, 300, 400, 100, 200, 0, 0, 0, 0, 0, 0]
    });
    chart.addSeries({
        name: 'Rainfall3',
        type: 'column',
        color: '#FFA500',
        data: [100, 200, 300, 400, 100, 200, 0, 0, 0, 0, 0, 0]
    });
}
$(function() {
    var chart = new Highcharts.Chart({
        chart: {
            renderTo: 'container',
            type: 'column'
        }
    });

ボタンがクリックされたときに新しいデータを再描画するために、再描画メソッドはどこに行きますか。

私は今これを更新しました

function redraw() {


// Delete all the series.
while (chart.series.length > 0) {
  chart.series[0].remove(false);
}

// Add the new series.
chart.addSeries({ data: Highcharts.map(Array(12), Math.random) }, false);

// Redraw the chart.
chart.redraw();

ただし、チャートから同じデータを取得する必要があります。シリーズを削除する代わりに、既存のチャートからデータを追加する必要があるため、vb.net コードから呼び出すことができます

更新フィドル:

jsfiddle

4

3 に答える 3

2

addSeries() には redraw 関数が含まれているため、redraw() を使用します。

http://api.highcharts.com/highcharts#Chart.addSeries()

于 2014-04-16T13:09:13.193 に答える
2

新しいシリーズを削除して追加する代わりに、setData() http://api.highcharts.com/highcharts#Series.setData()関数を使用できます。addSeries() を使用する場合、addSeries() には redraw 関数が含まれているため、redraw() を使用する必要はありません。

http://api.highcharts.com/highcharts#Chart.addSeries()

于 2013-07-05T11:47:28.243 に答える
0

私の理解が正しければ、ボタンを押しても新しいシリーズがロードされないということですね。clickその場合は、ハンドラー内にボタン ハンドラーを設定しているためですchange。つまり、登録する前に B または C ラジオボタンをクリックする必要があります。このchangeようにハンドラーから移動すると、機能します。

于 2013-07-04T16:50:00.617 に答える