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.