【问题标题】:Control axis label size when plotting igraph object in R在 R 中绘制 igraph 对象时控制轴标签大小
【发布时间】:2018-02-11 23:59:15
【问题描述】:

在 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) 的大小。

【问题讨论】:

    标签: r plot visualization igraph


    【解决方案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") 
      }
    

    【讨论】:

    • 谢谢!将标签大小添加到 par 效果很好
    【解决方案2】:

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

    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)
    

    这可能是您的结果。

    【讨论】:

    • 谢谢,这是一个很好的解决方法,但接受的答案直接解决了问题。
    猜你喜欢
    • 2012-05-30
    • 2021-05-06
    • 2014-04-07
    • 2021-08-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多