【问题标题】:How do I rotate a ggplot to landscape?如何将 ggplot 旋转为横向?
【发布时间】:2012-09-15 21:03:55
【问题描述】:

我有一系列ggplots,我想按如下所示排列并插入到通过knitr 解析的文档中。而不是一个非常小的肖像人物,我想把它旋转成横向,这样它就可以尽可能地填满页面。有什么想法吗?

library(ggplot2)
library(grid)
df <- data.frame(x = 1:100, y =rnorm(100))
plota <- ggplot(df, aes(x, y)) + geom_point(size = 4)


pushViewport(viewport(layout = grid.layout(3, 5)))
vplayout <- function(x, y) viewport(layout.pos.row = x, layout.pos.col = y) 
        print(plota, vp = vplayout(1:2, 1:2)) 
        print(plota, vp = vplayout(1, 3)) 
        print(plota, vp = vplayout(1, 4))
        print(plota, vp = vplayout(1, 5))
        print(plota, vp = vplayout(2, 3)) 
        print(plota, vp = vplayout(2, 4))
        print(plota, vp = vplayout(2, 5))
        print(plota, vp = vplayout(3, 1))
        print(plota, vp = vplayout(3, 2))
        print(plota, vp = vplayout(3, 3))
        print(plota, vp = vplayout(3, 4))
        print(plota, vp = vplayout(3, 5))

【问题讨论】:

    标签: r knitr ggplot2


    【解决方案1】:

    在 LaTeX 中旋转图形很容易;您可以使用选项angle=90,如http://yihui.name/knitr/options 中所述;请参阅下面的完整示例:

    \documentclass{article}
    \begin{document}
    
    <<out.extra='angle=90'>>=
    library(ggplot2)
    library(grid)
    df <- data.frame(x = 1:100, y =rnorm(100))
    plota <- ggplot(df, aes(x, y)) + geom_point(size = 4)
    
    pushViewport(viewport(layout = grid.layout(3, 5)))
    vplayout <- function(x, y) viewport(layout.pos.row = x, layout.pos.col = y) 
            print(plota, vp = vplayout(1:2, 1:2)) 
            print(plota, vp = vplayout(1, 3)) 
            print(plota, vp = vplayout(1, 4))
            print(plota, vp = vplayout(1, 5))
            print(plota, vp = vplayout(2, 3)) 
            print(plota, vp = vplayout(2, 4))
            print(plota, vp = vplayout(2, 5))
            print(plota, vp = vplayout(3, 1))
            print(plota, vp = vplayout(3, 2))
            print(plota, vp = vplayout(3, 3))
            print(plota, vp = vplayout(3, 4))
            print(plota, vp = vplayout(3, 5))
    @
    
    \end{document}
    

    【讨论】:

    • 感谢一辉,不胜感激。
    猜你喜欢
    • 2011-01-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-24
    • 2018-01-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多