根据名称选择节点颜色
choosing nodes color according to their name
我有很多代表不同组成员之间联系的 igraph 对象。我的图形数据集的一个简单示例如下:
library(igraph)
m<-matrix(data = c("a1_ghj", "a1_phj",
"b2_ghj", "c1_pht",
"c1_ght", "a1_ghi",
"g5_pht", "d2_phj",
"r5_phj", "u6_pht"), ncol = 2)
))
g<-graph_from_edgelist(m)
g
在第一种情况下,我想绘制此图关于每个在 _
之后具有相似字符的顶点名称,这意味着它们在同一组中并且它们应该具有相同的随机颜色。但是,由于不同图表中的组数不同,我不知道在这种情况下如何为它们着色。有人可以帮助解决这个问题吗?
您可以在顶点名称上使用 sub
来获取后缀。然后将这些视为为每种类型的节点获得不同颜色的因素。
Suffixes = factor(sub(".*_", "", names(V(g))))
Suffixes
[1] ghj ghi phj pht ghj phj pht phj ght pht
Levels: ghi ghj ght phj pht
plot(g, vertex.color=rainbow(5)[Suffixes])
我有很多代表不同组成员之间联系的 igraph 对象。我的图形数据集的一个简单示例如下:
library(igraph)
m<-matrix(data = c("a1_ghj", "a1_phj",
"b2_ghj", "c1_pht",
"c1_ght", "a1_ghi",
"g5_pht", "d2_phj",
"r5_phj", "u6_pht"), ncol = 2)
))
g<-graph_from_edgelist(m)
g
在第一种情况下,我想绘制此图关于每个在 _
之后具有相似字符的顶点名称,这意味着它们在同一组中并且它们应该具有相同的随机颜色。但是,由于不同图表中的组数不同,我不知道在这种情况下如何为它们着色。有人可以帮助解决这个问题吗?
您可以在顶点名称上使用 sub
来获取后缀。然后将这些视为为每种类型的节点获得不同颜色的因素。
Suffixes = factor(sub(".*_", "", names(V(g))))
Suffixes
[1] ghj ghi phj pht ghj phj pht phj ght pht
Levels: ghi ghj ght phj pht
plot(g, vertex.color=rainbow(5)[Suffixes])