Как выбрать определенные метки для отображения на графике igraph? - PullRequest
0 голосов
/ 24 мая 2019

Я строю сеть с помощью igraph и хочу отображать только некоторые метки вершин. В моем списке краев есть 2 столбца - «org» и «cand» - как я могу отображать метки только для узлов в «cand»?

Я пытался использовать

V (g) $ label <- ifelse () </p>

Я видел, что 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")` 
...