首页 > 解决方案 > 如何在 igraph 网络中设置顶点名称的位置

问题描述

我需要在它们内部或旁边设置顶点标签的位置。我应该在图中更改哪个参数来改变它?

我尝试更改 vertex.label.cex 和 vertex.label.dist 参数,但标签仍然位于绘图的角落并且看起来很乱。

plot(g, 
 vertex.color= "yellow",
 vertex.size = degree(g)*0.3,
 vertex.label=names,
 vertex.label.cex = degree(g)/1000,
 edge.width= 0.5,
 vertex.label.dist=0.1)

标签: rigraphnamesvertex

解决方案


你有正确的想法vertex.label.dist。您只是使用了太小的值。

由于您没有提供图表,我将用一个随机图表进行说明(并对您的绘图语句进行一些修改以匹配该图表)。

library(igraph)

set.seed(1234)
g = erdos.renyi.game(15, 0.2)
plot(g)

par(mfrow=c(1,2))
set.seed(4321)
plot(g, 
 vertex.color= "yellow",
 vertex.size = degree(g),
 edge.width= 0.5,
 vertex.label.dist=0.1,
 margin=-0.2, 
 main="vertex.label.dist=0.1")

set.seed(4321)
plot(g, 
 vertex.color= "yellow",
 vertex.size = degree(g),
 edge.width= 0.5,
 vertex.label.dist=1,
 margin=-0.2,
 main="vertex.label.dist=1")

带有未移位和移位标签的图形

请注意,较大vertex.label.dist的标签值明显偏移。


推荐阅读