无法使用R中的igraph正确绘制图形

时间:2016-01-25 06:28:37

标签: r plot social-networking igraph

给出如下数据框df

df
v1             v2
tom            ben
lily           dick
ben            lily
ben            dick
.....

我尝试绘制一个网络图表,如果它们在同一行,如汤姆和本,百合和迪克,本和百合等,将两个名称联系起来。

除此之外,我还有一个数据框df_size来表示顶点大小:

df_size
v1            v2
tom           10
lily          3
ben           1
dick          2
...

顶点大小应与v2中的对应值成比例。

最后一个数据框是将它们分组,如果它们来自同一个组,则顶点的颜色应该相同。

df_colour
v1        v1
tom       A
lily      B
ben       A
dick      A

现在我尝试了这段代码:

g = graph.data.frame(df)
plot(g,vertex.size = df_size$v2 )

但得到一个非常糟糕的结果:

enter image description here

现在我想正确设置顶点的边长和颜色,然后删除箭头。你有什么想法解决它吗?提前谢谢!

1 个答案:

答案 0 :(得分:0)

plot函数添加命令vertex.label.cexvertex.label.degree。试试这个:

plot(g, vertex.size=8, vertex.color = rainbow(10, .8, .8, alpha= .8),
vertex.label.color = "black", vertex.label.cex = 0.4, vertex.label.degree = -pi/2,
edge.arrow.size = 0.3, edge.arrow.width = 0.4, edge.color = "black")