2017-02-15 7 views
0

私はProtovisにはもう開発中ではなく、D3は新しいソフトウェアですが、新しくなっています。しかし、私はProtovisのNode-Link Treeを使ってさまざまな理由でデータを表示していますので、Protovisに固執することをお勧めします。ただし、Rパッケージを念頭に置いておいてください(ただし、dendextend、 ggplot2、d3networkなど)を使用して、Protovisの代わりにRを使用するようにしてください。protovisノードリンクツリーの色を変更する

var PB = { 
    PBC03013: { 
"103937011_PbUn_2838": 3013, 
"103934808_PbUn_26206": 3013, 
"103930675_PbUn_35145": 3013, 
"103941984_PbUn_52102": 3013, 
"103935933_PbUn_63128": 3013, 
"103966210_PbUn_64271": 3013 
}, 
PBC03018: { 
"103935981_PbUn_53113": 3018, 
"103934997_PbUn_59093": 3018, 
"103936640_PbUn_65330": 3018, 
"103955166_PbUn_112582": 3018 
}, 
... 
} 
} 
I'm trying to change the node colors such that the dots for the elements in PB03013 and PB03018 are different, say "green" and "red", respectively. So all of the PB03013 element dots are green and all of the PB03018 element dots are red. There are 10 nodes in total. I've done a lot of research on this but I'm having such a hard time setting different dot colors I decided to post for help. 

This is the body of my html code: 
var tree = vis.add(pv.Layout.Tree) 
    .nodes(pv.dom(PB).root("PB").nodes()) 
    .depth(127) 
    .breadth(7.25) 
    .orient("radial"); 

tree.link.add(pv.Line); 

tree.node.add(pv.Dot) 
    .fillStyle(function(n) n.firstChild ? "#a1d99b" : "#de2d26"); 

tree.label.add(pv.Label); 

So far, I've been using pv.Color pallets or n.key n.parentNode, etc code alterations to no success. I also set a new variable to force different colors like: 
var re = "", 
    color = pv.Colors.category19().by(function(d) d.parentNode.nodeName) 
    nodes = pv.dom(PB).root("PB").nodes(); 

Then: 

treemap.leaf.add(pv.Panel) 
    .fillStyle(function(d) color(d).alpha(title(d).match(re) ? 1 : .2)) 

The node-link tree code can also be found here: 
http://mbostock.github.io/protovis/ex/tree.html 

Any help is greatly appreciated. 

答えて

0

networkD3d3Networkの後継で、はるかに可能であり、あなたのニーズに合うことがあります。とにかく、Protovisのための私のデータの抜粋は次のようになります。特に、現在の開発版(v0.4.9000現在の2017.09.06)には、個々のノードとリンクの色を明示的に設定する機能を含む、新しい機能treeNetworkが非常に機能しています。 feedbackはまだ開発中ですので、喜んでお待ちしています。

関連する問題