我是R的新手,问题可能很简单。但我自己找不到答案。
我有两个共享节点的边缘列表。我想把它们放在一个图表中。但我希望如果node1和node2在EL1和EL2中都有边,那么它们之间有两条线。并且这两行应该是不同的颜色,表明它们来自不同的边缘列表。
我已经尝试了graph.union()
,但似乎即使我在graph
中有两次Node1 - > Node2,它只显示一次。
由于你有边缘清单,你可以只使用rbind
来为组合图形制作一个大的边缘清单。您可以根据边缘的列表为边缘指定颜色。由于您没有提供任何数据,我举一个简单的例子来说明。
library(igraph)
## Example data
EL1 = matrix(c("A", "B", "B", "C", "C", "D", "D", "A"), ncol=2, byrow=T)
g1 = graph_from_edgelist(EL1)
EL2 = matrix(c("A", "B", "B", "E", "E", "A"), ncol=2, byrow=T)
g2 = graph_from_edgelist(EL2)
## Combine the graphs
BigEL = rbind(EL1, EL2)
BigG = graph_from_edgelist(BigEL)
Col = c("red", "blue")[c(rep(1, nrow(EL1)), rep(2, nrow(EL2)))]
plot(BigG, edge.color=Col)