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的自己的颜色范围的主要内容,如果未能解决你的问题,请参考以下文章

R Highcharter Sankey节点列属性问题

Plotly Sankey 图中的附加标签

使用 rpart 生成 sankey 图的决策树

plotly Sankey 图:如何更改节点的默认顺序

R中的HighCharts桑基图

r中的多个图,r中带有过滤器