0

Highcharts を使用しているプロジェクトを継承しました。

以前の開発者は、この.addSeriesメソッドを使用して、レンダリング中の各チャートにすべての系列を追加しました。私がハイチャートについて読んだことから、それ.addSeriesは実際にはデータを動的に追加するためのもののようです。

グラフの作成に使用されているデータは、AJAX 要求からのものです。古い開発者のアプローチは、データを取得し、グラフをレンダリングしてから、.addSeries. 方程式から外して、更新してからすべてをレンダリングoptions.seriesに渡した方がよいのではないかと考えていました。new Highcharts.Chart().addSeries

ただし、私は Highcharts を初めて使用するので、より良い方法についてフィードバックを得たいと思っていました。

4

1 に答える 1

1

あなたは良い道を進んでいますが、あなたの質問はあなたが厳密な正しい/間違った答えよりも単に好みを探しているかもしれないことを示唆しています。

私が見たところ、グラフが描画された後にグラフを更新する必要が生じるようなインタラクションがページ上にない限り、使用addSerieする利点は視覚的なフレアを追加することです。を使用するaddSerieと、チャートは訪問者の前に視覚的に描画されますが、すでに描画されています。(HighChartsデモサイトにはこの良い例がいくつかあると思います。)

また、最近HighChartsプロジェクトを継承し、AJAXHighcharts.Chart()されたデータをその場で解析することにより、動的データを使用して新しいものを生成しています。幸いなことに、AJAXされたデータが完全に読み込まれるまでグラフは描画されないため、すべてのグラフには依然として優れた視覚的フレアがあります(フレアは重要です)。このスニペットは、動的チャートをロードし、JSONデータをその場で解析する方法を示しています。

   $(function () {
        var visitsChart;
        $(document).ready( function() {
            $.getJSON('/json-data-url', function(json){        
                var visitsChart = new Highcharts.Chart({
                    chart: {
                        renderTo: 'visitsContainer',
                        type: 'spline',
                    },
                    title: {
                        text: 'Test Widget'
                    },
                    series: [{
                        name: 'Speed',
                        data: [parseInt(json.visits)],
                    }],
                ...
                });     
            });   
        });
    });

嘘はつきません...始めたときは数分間髪を引っ張っていましたが、ロールに乗ったらとても楽しいので、今はHighchartsで作業する時間がもっとあればいいのにと思います。お役に立てれば。

于 2013-02-26T22:46:46.263 に答える