在R中绘制igraph对象时控制轴标签尺寸

时间:2017-09-03 16:04:43

标签: r plot visualization igraph

在绘制R中用igraph生成的网络时,是否有可能控制轴标签的字体大小? 与包" network"相反,cex.lab在传递给' plot'时没有任何改变。

一个例子:

library(igraph)

testnet <- graph_from_adjacency_matrix(diag(10))

plot(testnet,xlab="This is xlab Text")

par(mfrow=c(2,3))

replicate(6,plot(testnet,xlab="This is xlab Text"))      

replicate(6,plot(testnet,xlab="This is xlab Text",cex.lab=10))

在一个页面上有多个图表,默认字体太小。

请注意,我不是在谈论设置顶点标签的大小(vertex.label.cex)。

2 个答案:

答案 0 :(得分:3)

这是解决您问题的方法(即使它不是解决方案)。获得所需内容的一种可能性是省略x标签并在绘图下方添加可自定义的文本。

par(mfrow=c(1,2))

# plot with x-axis label
plot(graph_from_adjacency_matrix(diag(10)), xlab = "mylab")

# plot w/o x-axis label + text
plot(graph_from_adjacency_matrix(diag(10)))
text(0, -1.8, labels = "myxlab", cex = 2.5)

这可能是你的结果。 enter image description here

答案 1 :(得分:1)

另一种选择:将标签尺寸添加到par

所有地块的一个尺寸

rr <- 2; cc <- 3
par(mfrow=c(rr,cc), cex.lab=1.5)
replicate(6,plot(testnet,xlab="This is xlab Text"))  

图表的大小不同:

par(mfrow = c(rr,cc))
plot.new()
cex.labs <- matrix(runif(2*3, 1, 3), ncol=cc, nrow=rr)
for (x in seq_len(rr))
  for (y in seq_len(cc)) {
    par(mfg=c(x,y), cex.lab = cex.labs[x,y])
    plot(testnet,xlab="This is xlab Text") 
  }