[英]Set igraph vertex color based on vertex attribute using RColorBrewer
我在iGraph
中有一个网络,该网络具有代表各种因素的多个顶点属性。 当我基于特定属性绘制图形时,我想为顶点着色。 类似于在ggplot
使用color = variable
的ggplot
。
plot()
的参数vertex.color
可用于为网络中的所有顶点设置顶点颜色,或者它可以接受RGB值并为每个顶点设置顶点颜色。
我已经将RColorBrewer
视为创建货盘的一种方式,但是我不确定如何将其映射回顶点属性。 我也不想硬编码每个属性值的颜色,因为我有多个属性,每个属性具有不同的级别数。
library(igraph)
library(RColorBrewer)
# create an example network
g <- make_ring(5)
# assign vertex attributes
g <- set.vertex.attribute(g, 'group', 1, 'A')
g <- set.vertex.attribute(g, 'group', 2, 'A')
g <- set.vertex.attribute(g, 'group', 3, 'B')
g <- set.vertex.attribute(g, 'group', 4, 'B')
g <- set.vertex.attribute(g, 'group', 5, 'C')
# create color pallet based on unique values for vertex attribute
pal <- brewer_pal(length(unique(V(g)$group)), "Dark2")
# plot network
plot(g, vertex.color = "gray")
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.