【发布时间】:2022-01-16 08:32:49
【问题描述】:
我目前正在根据自己创建的数据集分析多路复用网络。
我希望能够以一种我可以通过多路复用网络为两种类型的边缘分配不同颜色的方式绘制网络。
这个网络的边缘列表看起来像这样
- 多路复用网络称为 multi_g
- 它是一个 igraph 对象
- 两种类型的关系是贸易关系和双边援助关系
- 它们的边缘位于边缘列表的不同列中,因此位于分离的边缘属性中
我尝试用以下代码绘制它:
plot(multi_g,
edge.color=c("brown", "green")[E(multi_g)$trade_tie+E(multi_g)$bilateralaid_tie],
edge.arrow.size = 0.5,
vertex.color="gray40",
vertex.label.color = "black",
layout= layout_with_fr)
通过使用这个公式,很多边都不会被绘制出来。
提前感谢您的帮助。
如果有办法用 ggraph 绘制它,我也会非常感激!
【问题讨论】:
-
您能解释一下您要做什么吗?你展示了一段你说没有做你想做的事情的代码,但你没有解释你想要发生的事情。在
edge.color行中,您似乎试图使用非整数索引向量,这是没有意义的。 -
See here 关于制作一个更易于人们帮助的可重现示例,例如可行的数据样本。现在我们看不到你的输出,所以不清楚你要修复什么
-
我投票决定重新开放,因为我完全可以理解 OP 的问题。 OP 实际上有两个网络,具有匹配的节点身份。 OP 希望在一个图中可视化两个网络,以便相同的节点位于相同的位置。 OP 想将贸易连接涂成棕色,将辅助连接涂成绿色。当 OP 绘制图形时,一些边缘不可见,因为边缘布局引擎可能将它们绘制在彼此之上。但是,OP 希望所有边缘都可见。
标签: r igraph social-networking