R中带有networkD3包的Sankey Diagram的自己的颜色范围
Posted
技术标签:
【中文标题】R中带有networkD3包的Sankey Diagram的自己的颜色范围【英文标题】:Own colour range for Sankey Diagram with networkD3 package in R 【发布时间】:2015-11-19 11:23:25 【问题描述】:我正在尝试使用 networkD3 包中的sankeyNetwork()
绘制桑基图。
sankeyNetwork(Links = Flow_data, Nodes = Nodes_data,
Source = "Source_ID", Target = "Target",
Value = "value", NodeID = "Nodes_name",
width = 1000, height=600, fontsize = 16, nodeWidth = 50,
colourScale = "d3.scale.category20c()")
可视化效果很好,但我想将颜色范围更改为单个范围。有没有机会改变 SankeyNetwork 的颜色?我只需要一个范围,例如我可以自己设置 3 种颜色(不是 d3.scale 的预定义 colourScales)。
【问题讨论】:
【参考方案1】:你可以配置:
sankeyNetwork(Links = Flow_data, Nodes = Nodes_data,
Source = "Source_ID", Target = "Target",
Value = "value", NodeID = "Nodes_name",
width = 1000, height=600, fontsize = 16, nodeWidth = 50,
colourScale = "d3.scale.category20c()") <==== Categorical color
更新
较新的版本:
d3.scale.ordinal().range(["#7d3945","#e0677b", "#244457"])
now works if changed to:
d3.scaleOrdinal().range(["#7d3945","#e0677b", "#244457"])
谢谢@彼得·埃利斯
更新
使用自定义颜色时有什么方法可以设置透明度吗?
“#AARRGGBB”似乎不起作用
您可以创建一个 selectAll("your_class").style("opacity",0.5),看看这个:***.com/questions/6042550/… 样式属性选项。而CSS3有一个完全标准化的解决方案:“fill="rgba(124,240,10,0.5)"
有关颜色参考,请看这里:http://bl.ocks.org/aaizemberg/78bd3dade9593896a59d
这里:https://github.com/mbostock/d3/wiki/Ordinal-Scales#categorical-colors
【讨论】:
谢谢 :) 我已经访问了这些链接。但是使用分类颜色,我得到 10 或 20 种预定义颜色。我宁愿使用更少的颜色。是否有可能只选择几个分类颜色? 根据文档:colourScale 字符串,指定节点的分类色标。你可以试试这个:"#7d3945","#e0677b", "#244457"
或 d3.scale.ordinal().range(["#7d3945","#e0677b", "#244457"])
您好 Klaujesi,您介意看一下相关的 networkD3 问题吗? ***.com/questions/35280218/…
在使用自定义颜色时有没有办法设置透明度? #AARRGGBB 似乎不起作用
你可以做一个 selectAll("your_class").style("opacity",0.5),看看这个:***.com/questions/6042550/… 样式属性选项。而CSS3有一个完全标准化的解决方案:“fill="rgba(124,240,10,0.5)"以上是关于R中带有networkD3包的Sankey Diagram的自己的颜色范围的主要内容,如果未能解决你的问题,请参考以下文章