我一直在寻找一种直观的方法来绘制流程中状态之间的流程或连接。R软件恰好满足了我的需求。
将数据设置为正确的格式是一个比较麻烦的过程。现在,本文仅说明如何构建多级图。
此示例的计划是在六层中的每一层具有四个节点,并且层之间具有流。数据很好地说明了该过程,并且产生的结果与我所追求的最终图一致。我们必须为节点和边创建数据结构。从边开始,然后使用这些数据提取节点。
边数据帧由具有“从”节点(N1)和“至”节点(N2)的记录以及它们之间的流的值组成。在这里,我系统地构建了一个随机流网格,并删除了一些破坏对称性的记录。
> eges = data.frame
>
> head(eges)
然后从边数据帧中提取节点的名称。根据标签计算节点的水平和垂直位置。这些位置不是严格必需的,因为软件包将为您确定合理的默认值。
> nds = data.frame
> nods$x = as.integer
> nos$y = as.integer
> rownames(noes) = ID
> head(nos)
最后,我们构造了样式列表,这些样式将应用于每个节点。选择合适的颜色并为重叠部分引入透明度非常重要。
> pate = paste0
> stes = lapply(y, function(n) {
+ list
+ })
> names= ID
现在我们可以构造河流图对象了。为此,我们将节点,边和样式数据结构连接到列表中,然后将“ river”添加到类属性列表中。
> rp <- list
> #
> class<- c
这样就可以制作图。
> plot
通过仔细观察,可以得到不少信息,桑基图绘制目的就是让各类别间的区别和联系更加直观展现出来。今天的分享到此结束,下次再见!
本文摘选《R语言实现绘制Sankey桑基图(河流图、分流图)流程数据可视化》
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有