5

Protovis Arcレイアウトを使用しており、データセットで定義された「value」プロパティに従ってノード間のリンクに色を付けたいと思います。どうすればアクセスできますか?

データセットは次のように定義されます。ノード:... {nodeName:"Books"}..。

リンク:... {ソース:1、ターゲット:4、値:20}..。

arc.link.add(pv.Line).strokeStyle(function(d)d.value> 10? "#cc0000": "#eeeeee"); - 動作しません

4

1 に答える 1

4

dプロパティはノードを参照します。この場合、ノードvalueには属性が定義されていません。リンクの重みはlinksで定義されています。これが、プロパティ関数が期待どおりに機能しない理由です。

プロパティ関数を書き換えて、(ノードではなく) リンク データにアクセスできます。リンク データはリンクの親パネルに関連付けられており、2 番目の引数として使用できます。

.strokeStyle(function(d, p) p.value > 10 ? "#c00" : "#eee")

詳細については、レイアウトのドキュメントを参照してください。また、pv.Layout.NetworkAPI リファレンスも参照してください。

linkマークは子パネルに追加され、そのプロパティdataはレイアウトのlinksプロパティとして定義されます。リンクのdataプロパティは、ソース ノードとターゲット ノードの 2 つの要素の配列になります。したがって、 や などstrokeStylefillStyleプロパティをオーバーライドして、ノード データ (最初の引数) またはリンク データ (2 番目の引数、親パネル データ) からプロパティを動的に計算できます。

于 2010-06-13T17:57:58.037 に答える