按属性图为边着色

时间:2021-03-04 16:05:30

标签: r igraph

我有一个图形对象,带有黑色和白色节点。我想以与指定线型相同的方式为边缘着色。

首先,我不确定如何在多路复用图上重现示例 - 它是一个具有两层的网络。抱歉,欢迎提供有关复制大型数据集的任何指导。

我想让我的节点保持黑色和白色,但我希望我的边缘是黑色和红色,这取决于它们的层(1 或 2)


E(g)$color[E(g)$layer == '1'] <-'black'
E(g)$color[E(g)$layer == '2'] <-'red'

ggraph(g,layout = 'fr') + 
  geom_edge_link(aes(linetype = E(g)$layer),edge_colour = E(g)$color, edge_width = 0.5) + 
  geom_node_point(aes(fill = V(g)$Sex), shape=21, size = 3)+ theme_graph()+
  scale_fill_manual(values=c("#000000", "#FFFFFF"))

当我尝试将颜色声明为边缘属性时,我收到一条错误消息:

错误:Aesthetics 必须为长度 1 或与数据相同 (10800):edge_colour

此外,当我在 aes 内复制 Linetype 参数时,边缘会改变颜色,但呈蓝色和粉红色(不是红色和黑色)

geom_edge_link(aes(linetype = E(bpg16)$layer, edge_colour = E(bpg16)$layer), edge_width = 0.5)

我希望这是有道理的, 谢谢。

1 个答案:

答案 0 :(得分:0)

我失踪了

inet_ntop

我可以手动定义值的地方。