在R中的iGraph中绘制顶点形状

时间:2012-02-17 18:44:25

标签: r igraph

嗨,大家好,

我有一个简单的问题。我是新的使用iGraph,我试图通过tklplot绘图。该图具有以下特征:

Vertices: 856 Edges: 675 Directed: TRUE

我只想在图表中塑造不同种族群体,这些民族群体当然是V(g)$ethnic个顶点的属性。
我遇到了square的问题,但确实有错误 在向下的线条中,我只是变成圆形顶点。我的想法是用属性V(g)$ethnic区分顶点,如果我记得它,没有问题,但是情节输出不正确,并且R没有报告主要问题

如下

  V(g)$color <- "green"
  E(g)$color <- "black"
  V(g)$nodesize=degree(g)*0.5
  V(g)[V(g)$ethnic=="Mestizo"]$shape <- "rectangle"
  V(g)[V(g)$ethnic=="Saraguro"]$shape <- "circle"
  tkplot(g, layout=layout.kamada.kawai, edge.color=E(g)$color, 
         edge.arrow.size=0.3, vertex.label.dist=0.3, vertex.color=V(g)$color, 
         vertex.size=V(g)$nodesize, vertex.shape=V(g)$shape)

问候
弗拉基米尔

2 个答案:

答案 0 :(得分:1)

根据igraph.vertex.shapes function documentationtkplot不支持形状,但仅限于plot.igraph

  

请注意,当前的顶点形状实现是实验性的   它可能会在未来发生变化。目前实现了顶点形状   仅适用于plot.igraph。

答案 1 :(得分:-1)

究竟什么不能正确绘图? iGraph的指数偏移一。试试这个,看看它是否有所作为:

wc1 <- which(V(g)$ethnic=="Mestizo") - 1
wc2 <- which(V(g)$ethnic=="Saraguro") - 1
V(g)$shape[wc1] <- "rectangle"
V(g)$shape[wc2] <- "circle"