1

私はjqplotの初心者です。今日、私はhttp://jsfiddle.net/fracu/HrZcj/からのガイダンスとして、作成された線jqplotチャートを更新しようとしました。

まず、データの配列を使用してjqplotチャートを作成します。次に、コードフラグメントを作成します。

            var colors = ['red', 'blue', 'green'];
            var dataset = [[232,234,235,556,233],[234,563,234,866,345],[234,564,567,345,234]];
            var lengeds = [{label: 'Test'}, {label: 'Upper'}, {label: 'Lower'}];
            var analysisLabels = [[1, "Label1"], [2, "Label2"], [3, "Label3"], [4, "Label4"], [5, "Label5"]];

            chart = $.jqplot("chart_id", 
                    dataset,
                    {
                        title: 'Sample Chart',
                        legend: {
                            show: true,
                            placement: 'outsideGrid'
                        },
                        series: lengeds,
                        axes: {
                           xaxis: {
                               ticks: analysisLabels,
                               tickRenderer: $.jqplot.CanvasAxisTickRenderer,
                               tickOptions: {
                                   angle: -30
                               }
                           },
                           yaxis: {
                               label: 'Fuel',
                               labelRenderer: $.jqplot.CanvasAxisLabelRenderer
                           }
                        },
                        seriesColors: colors,
                        highlighter: { 
                            show: true 
                        },
                        cursor: {
                            show: false
                        }
                    }
                );

次に、次のような新しく作成されたデータセットで更新する予定です。

chart.series[0].data = chartSeriesTimes[0];
chart.series[1].data = chartSeriesTimes[1];
chart.series[2].data = chartSeriesTimes[2];

//chart.resetAxesScale();
chart.replot();

上記のコードを実行した後、グラフには何も表示されません。つまり、以前に作成された3つの曲線が削除されますが、新しく追加された3つの曲線データセットはレンダリングされません。

公式の例に従っているので、なぜこれが起こるのかわかりません。jqplotが得意な人は誰でも私にガイダンスを与えることができますか?どうもありがとう。

4

3 に答える 3

0

この方法が最適かどうかわからない場合でも、この問題を解決しました。存在する場合は、更新する前に破棄します。

if (chart) {
    chart.destroy();
}
于 2012-11-01T02:51:35.407 に答える
0

データセットを配置するために角かっこ[]は必要ありませんか?

          chart = $.jqplot("chart_id", 
                [dataset],
                {
                    title: 'Sample Chart',
                    legend: {
                        show: true,
                        placement: 'outsideGrid'
                    },
                    series: lengeds,
                    axes: {
                       xaxis: {
                           ticks: analysisLabels,
                           tickRenderer: $.jqplot.CanvasAxisTickRenderer,
                           tickOptions: {
                               angle: -30
                           }
                       },
                       yaxis: {
                           label: 'Fuel',
                           labelRenderer: $.jqplot.CanvasAxisLabelRenderer
                       }
                    },
                    seriesColors: colors,
                    highlighter: { 
                        show: true 
                    },
                    cursor: {
                        show: false
                    }
                }
于 2012-11-29T09:43:03.650 に答える
0
if (chart) {
    chart.replot();
}
于 2015-03-12T18:57:02.930 に答える