用R编程语言中的igraph库设置顶点标签

5
我在使用R语言处理带权重的igraph时,添加顶点标签时遇到了一些问题。
图的数据框如下:
df <- read.table(text=
    "From, To, Weight
    A,B,1
    B,C,2
    B,F,3
    C,D,5
    B,F,4
    C,D,6
    D,E,7
    E,B,8
    E,B,9
    E,C,10
    E,F,11", sep=',',header=TRUE)

#    From To Weight
# 1     A  B      1 
# 2     B  C      2
# 3     B  F      3
# 4     C  D      5
# 5     B  F      4
# 6     C  D      6
# 7     D  E      7
# 8     E  B      8
# 9     E  B      9
# 10    E  C     10
# 11    E  F     11

我使用:

g<-graph.data.frame(df,directed = TRUE)
plot(g)

要绘制以下图形:

enter image description here

可以看到,例如从E到B的顶点标签是重叠的。 (对于顶点C-D和顶点B-F也存在同样的问题)

我想知道如何分离这些标签,以便每个顶点上有不同的权重?


这些不是顶点标签,而是边标签。 - Gabor Csardi
1个回答

7

建议尝试使用qgraph包。qgraph基于igraph,能在后台为您完成许多工作。

install.packages('qgraph')
require(qgraph)
qgraph(df,edge.labels=T)

希望这可以帮到你。

输入图像描述


谢谢,但我已经尝试过qgraph函数了。它可以解决这个问题,但是调整图形参数时不太有用,例如节点的形状或节点文本的调整。 - user3024655
1
阅读?qgraph。您可以通过shape='插入形状'来更改节点的形状。您可以使用label.cex、label.prop、label.norm和label.scale(仅列举几个)来调整节点的文本。 - James Tobin
好的!你能举个例子吗?比如,这个图形有矩形节点和任意长度的文本在节点中? - user3024655
1
只需阅读?qgraph。它包含您需要的所有信息。尝试不同的设置并进行操作并不难。通过尝试不同的设置,您将学到更多知识。但是我会免费提供矩形:qgraph(df,edge.labels=T,shape='rectangle') - James Tobin

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接