代码之家  ›  专栏  ›  技术社区  ›  user1424739

如何获得子地块的绘图区域大小?

  •  1
  • user1424739  · 技术社区  · 2 年前
    plotrgnsize=function() {
        m = par('mai')
        o = par('omi')
        dev.size()-c(
            sum(m[c(2, 4)] + o[c(2, 4)])
            , sum(m[c(1, 3)] + o[c(1, 3)])
        )
    }
    

    上述函数可以在以下情况下返回绘图区域大小: layout() 不叫。什么时候 布局() 叫做, plotrgnsize() 无法获取每个子图形的打印区域大小。如何获得子图形打印区域的大小?

    layout(
      mat=rbind(
        3
        , 2
        , 1
        )
      , heights=c(3, 2, 1)
      )
    

    编辑:下面是演示输出的命令序列。

    R> plotrgnsize() # after calling plotrgnsize() once before, then dragged the plot window.
    [1] 7.805454 5.767547
    # ... then run the layout command shown above.
    R> plotrgnsize()
    [1] 8.227054 6.393147
    R> plot(1:10)
    R> plotrgnsize()
    [1] 8.227054 6.393147
    R> plot(1:10)
    R> plotrgnsize()
    [1] 8.227054 6.393147
    R> plot(1:10)
    R> plotrgnsize()
    [1] 8.227054 6.393147
    

    如你所见 plotrgnsize() 打印每个子图形时不会更改。因此,它无法获得每个子图形的打印区域大小。

    0 回复  |  直到 2 年前