0

その場でいくつかのプロパティを変更するために、グラフの実際のsvgオブジェクトの各ポイントにアクセスする方法を探しています。

100 個のオブジェクトがあるとします。そのうちの約 50% を別の色で描画する必要があります (ただし、それらは同じデータ シリーズに属していますが、決して一周することはできません)。したがって、次を使用して:

chart.series[0].points

オブジェクトのプロパティ (塗りつぶしなど) を変更することはできますが、後でグラフを再描画する方法はありません。chart. redraw() を使用しても何も得られません。実際にはポイントの色が変わりますが、マウスをポイントの上に置いた後にのみ、チャート自体が適切に再描画されません。

どんな助けでも感謝します。

よろしく!

4

1 に答える 1

1

ここで使用できる方法は少なくとも 2 つあります。

ロード
時 各ポイントをデータ配列に追加する際に、各ポイントの色を明示的に定義できます。ドキュメントに記載されている内容は次のとおりです

名前付きの値を持つオブジェクトのリスト。この場合、以下に示すように、オブジェクトはポイント構成オブジェクトです。

範囲系列の値は、低値と高値で与えられます。例:

data: [{
name: 'Point 1',
color: '#00FF00',
y: 0
}, {
name: 'Point 2',
color: '#FF00FF',
y: 5
}]

参照: http://api.highcharts.com/highcharts#series.data

jsFiddle @ http://jsfiddle.net/jugal/mXPPH/

動的に次の方法を
使用して、色/マーカーを個々のポイントに追加できます。point.update()

var p = chart.series[0].points[l - 1];
p.update({
    marker: {
        symbol: 'square',
        fillColor: "#A0F",
        lineColor: "A0F0",
        radius: 5
    }
});

参考:http ://api.highcharts.com/highcharts#Point.update%28%29

この質問に対して私が提供した同様の回答も見たいと思うかもしれませ

于 2012-08-30T05:28:00.350 に答える