如何在 igraph 网络中设置顶点名称的位置
how to set position of vertex names in igraph network
我需要将顶点标签的位置设置在它们的内部或旁边。我应该在 plot 中更改哪个参数来更改它?
我已经尝试更改 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)
您对 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
的值越大,标签明显偏移。
我需要将顶点标签的位置设置在它们的内部或旁边。我应该在 plot 中更改哪个参数来更改它?
我已经尝试更改 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)
您对 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
的值越大,标签明显偏移。