0

チャートのポイント [x,y] を更新しようとしています。どうしたの?わかりました、チャートとそのチャート シリーズは次のようになります。

     series: [
            {
                enableMouseTracking: false,
                name: 'Line1',
                type: 'line',
                color: '#5d5d5d',
                yAxis: 1,
                data: [[12000, 55.068493], [15064, 42.842]],
                marker: {
                    symbol: 'circle'
                }
            },
            {
                enableMouseTracking: false,
                name: 'Line2',
                type: 'line',
                color: '#5d5d5d',
                yAxis: 1,
                marker: {
                    symbol: 'circle'
                },
                data: [[12000, 57.671527], [16000, 42.620069]]

            },{
                name: 'TOM',
                //type: 'line',
                color: '#ff4100',
                yAxis: 1,
                marker: {
                    symbol: 'url(icons/tom.png)'
                },
                data: [
                    {
                        id:'tom_point',
                        color: '#00FF00',
                        y: fi_variable,
                        x: tom_variable
                    }
                ]
             }

ここで、fi_variableまたはtom_variableが変更されたかどうかを確認し、真の場合はこれら 2 つの変数を更新し、最後にチャートを更新します。

私はすでにいくつかの方法を試し chart.series[0].data[0].update(y = 10);ました.x、y値が固定されているいくつかのポイントに対しては、いくつかの方法が機能しますが、残りのポイントには運がありません。たとえば、私が使用chart.series[0].data[1].update(y = 10);するものは問題なく動作しますが、これchart.series[0].data[3].update(y = 10);は機能しません。

data[0]1-上記のコード行の をidポイントのに置き換える方法はありますtom_pointか?

また、私はこれを試しましchart.series[0].setData([[tom_variable,fi_variable, 'tom_point']]); たが、ポイントにIDがある場合、または固定値がない場合は機能しません。

しかし、試してみるchart.series[0]data[0].setData([[tom_variable,fi_variable]]);と機能しますが、シリーズの3番目の要素(この場合は上記のように)では機能しません。

次の方法でこのポイントの値を取得できますが、 var tomPoint = chart.get('tom_point').y; x、y 値をチャートに戻して更新することはできません (チャート)。

また、変数が変更されたかどうかを確認し、chart.redraw でチャートを再描画しようとしましたが、何もしませんでした。

どうすればこれを機能させることができますか? 私は何かを失っていますか?

お時間をいただきありがとうございます。

4

3 に答える 3

1

x値も変更したい場合は、使用します

chart.series[0].data[0].update({
x: 10,
y: 100
})

これは、この例のように x と y の両方の値を更新しますhttp://jsfiddle.net/DCA8W/

これがあなたが探しているものであることを願っています。

于 2013-10-29T11:40:48.347 に答える
0

わかりました、解決策は最終的に簡単でした。

ポイントを更新することができました:

名前を持つ系列の 3 番目の要素は、TOMchart.series[2] に対応します。

               { // chart.series[2]
                name: 'TOM',
                //type: 'line',
                color: '#ff4100',
                yAxis: 1,
                marker: {
                    symbol: 'url(icons/tom.png)'
                },
                data: [
                    {
                        id:'tom_point',
                        color: '#00FF00',
                        y: fi_variable,
                        x: tom_variable
                    }
                ]
             }

したがって、この点の [x,y] 値を更新するには、次のようにする必要があります。

// TOM Point

`chart.series[2].data[0].update({x:var_x, y:var_y});`
于 2013-10-30T17:04:57.693 に答える