我正在用igraph绘制网络,我只想显示一些顶点标签。我的边缘列表有两列-“ org”和“ cand”-在我的图中如何仅显示“ cand”中节点的标签?
我尝试使用
V(g)$ label <-ifelse()
我已经看到ifelse在与矢量关联的数值属性时使用(例如,仅显示标签> 10)。我不确定如何将这种表示法用于我的目的。 下面的代码显示了我如何创建图形和绘图-运行良好。
`el=read.csv(file.choose("2018_party_groups3"))
el[,"org"]=as.character(el[,"org"])
el[,"cand"]=as.character(el[,"cand"])
el=as.matrix(el)
g=graph.edgelist(el[,1:2])
a=read.csv(file.choose("2018_party_att"))
V(g)$party=as.character(a$party[match(V(g)$name,a$cand)])
b=read.csv(file.choose("2018_groups_att"))
V(g)$type=as.character(b$type[match(V(g)$name,b$org)])
V(g)$color=V(g)$type
V(g)$color=gsub("U","green",V(g)$color)
V(g)$color=gsub("Ref","orange",V(g)$color)
m <- layout_with_kk(g)
plot(g, layout=m, edge.arrow.size=.2, vertex.label.font=1,
vertex.label.cex=.7, vertex.size=6, vertex.label.color="black")`