微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

带有 igraph 的有向网络中的颜色边缘

如何解决带有 igraph 的有向网络中的颜色边缘

我有一个网络,我想在其中突出显示节点 A 的某些边:

  • 离开A的方向应该是例如红色
  • 前往 A 的路线应该是绿色的。
  • 根本不应该打印所有其他未与节点 A 连接的边。
library('igraph')

my_network <- read.table(
  header=TRUE,sep=",",text="
from,to
A,B
A,C
C,D
D,A
C,A")

set.seed(1234)
my_network_graph <- graph_from_data_frame(my_network)
plot(my_network_graph,edge.curved= 0.2,)

enter image description here

到目前为止,我可以突出显示 A 之外的边缘。

plot(my_network_graph,edge.color = c(NA,"red")[1+ (my_network$from == "A")]
      )

enter image description here

我希望边缘 D -> AC -> A 与边缘 A -> BA -> C(红色)位于同一图中。

边列表不应该是硬编码的。仅应给出 A,其他应自动计算。

解决方法

你可以试试下面的代码

plot(my_network_graph,edge.curved = 0.2,edge.color =with(my_network,ifelse(from %in% "A","red",ifelse(from %in% c("C","D") & to == "A","blue","grey")))
)

enter image description here

plot(my_network_graph,ifelse(to == "A","green",NA)))
)

enter image description here

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。