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

按属性图为边着色

如何解决按属性图为边着色

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

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

我想让我的节点保持黑色和白色,但我希望我的边缘是黑色和红色,这取决于它们的层(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)

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

解决方法

我失踪了

inet_ntop

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

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