3

私のコードでは、このようにチャートを初期化しています...

<script type="text/javascript">
var chart = null,
defaultOptions = {
chart: etc etc
};


function drawDefaultChart() {
    chart = new Highcharts.Chart(defaultOptions);
}

$(function() {
    $(document).ready(function() {
        drawDefaultChart();
    });
});

</script>

それから私が持っている体の中で

<a href="#" onclick="drawDefaultChart()">Reset</a>

しかし、リンクをクリックすると、前の状態の設定でグラフが再描画されるだけです...何が起こっているのかよくわかりません。chart.destroy(); を追加すると チャートが全く動かない…

function drawDefaultChart() {
    chart.destroy();  //this makes the chart not work at all
    chart = new Highcharts.Chart(defaultOptions);
}

再描画されると思われるチャートにデフォルトのオプションを適用していることは明らかです....古いフィルター設定を使用する理由がわかりません。橋から飛び降りようとしています。誰かお願いしますヘルプ?

私のライブの例はここにありますhttp://goo.gl/sGu0M

//////// アップデート

血と汗と涙を流してやり遂げました。別のページのphp変数にデータを入れて(不動産を節約するために)、php変数を使用して呼び出すことになり、誰かがリンクをクリックするたびに呼び出すだけです。グラフを再描画するには、毎回すべてのデータをリロードする必要があることがわかりました。PHP は、画面上のデータ量の点でこれを容易にします。

これは最終的に私がそれを理解するのを助けたリンクでした. http://jsfiddle.net/dane/YUa3R/34/

4

2 に答える 2

6

常にAPIドキュメントを参照することをお勧めします。

次のスニペットを使用してチャートを破棄します$('#container').highcharts().destroy();

実用的なソリューションについては、ここをクリックしてください。

于 2014-06-10T09:21:50.907 に答える
1

まず、ハイチャートについては何も知りませんが、必要なようです:(実際のページから)

function drawDefaultChart() {
$("#container").empty();
    chart = new Highcharts.Chart(defaultOptions);
}

することが

function drawDefaultChart() {
    $("#container").empty().highcharts(defaultOptions);
}

多分:

function drawDefaultChart() {
    $("#container").highcharts(defaultOptions);
}
于 2013-04-09T21:19:27.513 に答える