2017-10-07 55 views
0

添加到繪圖背景(未面板)我附上一個538劇情截圖 - https://scontent-lax3-2.xx.fbcdn.net/v/t31.0-8/22218477_1588451034532053_5652546964446428775_o.png?oh=aa7436a960f2982deed7a90c997f31e4&oe=5A45A9E7 - 我試圖格式化我ggplot以類似的方式。我目前正在努力的部分是底部的深灰色陰影。我有一個演示的情節在這裏:一個geom_rect在GGPLOT2

ggplot(iris, aes(x = Sepal.Length, y = Sepal.Width)) + 
    geom_point() + 
    theme(plot.background = element_rect(fill = 'gray95'), 
     panel.background = element_rect(fill = 'red')) + 
    labs(caption = 'mycaption') 

panel.background顏色整個面板的紅色,和plot.background顏色一切面板灰色的外側。我熟悉geom_rect(),但這些只能放置INSIDE從我讀過的面板,與XMIN/XMAX/YMIN/YMAX參數......反正對我來說,在添加geom_rect()整個圖形的底部,而不僅僅是x和y座標之間的面板底部?

讓我知道,如果這是有道理可言,否則我可以解釋更多。

謝謝!

回答

1

已經有在這個網站幾個答案;這裏有一個方法:

library(gridExtra) 
fthbar <- grobTree(rectGrob(gp=gpar(fill="grey50",col=NA)), 
        textGrob("LEFT", x=0, hjust=0, gp=gpar(col="white")), 
         textGrob("RIGHT", x=1, hjust=1, gp=gpar(col="white")), cl="ann") 
heightDetails.ann <- function(x) unit(1,"line") 
grid.arrange(qplot(rnorm(10),rnorm(10)), bottom = fthbar) 

enter image description here

+0

也看到https://stackoverflow.com/a/26389507/471093 – baptiste

1

我不知道如何直接在ggplot中完成該操作,但您可以使用grid軟件包的更一般功能來完成此操作。我發現this tutorial如果你還沒有使用它之前是在開始使用它的幫助。如果你喜歡,你通常可以在頁面上放置ggplot圖形。

或者,你可以檢查出cowplot包。它還使您可以更簡單地佈置頁面,並更簡單地完成很多網格功能。你應該能夠弄清楚如何從文檔中完成你所期望的。

+0

偉大的教程鏈接,謝謝 – Canovice