簡體   English   中英

在ggplot2中將geom_rect添加到繪圖背景(非面板)

[英]Add a geom_rect to the plot background (not panel) in ggplot2

我已經附上了538張圖的屏幕截圖-https://scontent-lax3-2.xx.fbcdn.net/v/t31.0-8/22218477_1588451034532053_5652546964446428775_o.png?oh = aa7436a960f2982deed7a90c997f31e4 & oe = 5A45A9E7格式-我正在嘗試我的ggplot以類似的方式。 我目前正在掙扎的部分是底部的深灰色陰影。 我在這里有一個演示圖:

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()很熟悉,但是只能將它們放在我所讀內容的面板內,並帶有xmin / xmax / ymin / ymax的參數...反正我是否可以在該面板上添加geom_rect()整個圖的底部,而不僅僅是x和y坐標之間的面板底部?

讓我知道這是否完全有意義,否則我可以進一步解釋。

謝謝!

我不知道直接在ggplot中完成此操作的方法,但是您當然可以使用grid包的更通用功能來做到這一點。 如果您以前沒有使用過本教程 ,我發現本教程將對您有所幫助。 通常,您可以隨意在頁面上放置ggplot圖表。

或者,您可以簽出Cowplot軟件包。 它還使您可以更簡單地布局頁面,並更簡單地完成許多網格功能。 您應該能夠從文檔中找出如何做自己想要的事情。

這個網站上已經有幾個答案; 這是一種方法:

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)

在此處輸入圖片說明

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM