gpt4 book ai didi

r - 在 ggplot 中使用四个图在图表下方添加标题

转载 作者:行者123 更新时间:2023-12-01 18:30:59 29 4
gpt4 key购买 nike

由于数据的隐私性,我使用ggplot2中的mtcar数据集来解释我的问题。

有四个图:

g1 <- ggplot(mtcars,aes(mpg,wt)) + geom_point()
g2 <- ggplot(mtcars,aes(mpg,disp)) + geom_point()
g3 <- ggplot(mtcars,aes(mpg,drat)) + geom_point()
g4 <- ggplot(mtcars,aes(mpg,qsec)) + geom_point()

我想将这四个图放在一张图中,因此我使用 grid.Extra 包中的 grid.arrange() 函数:

grid.arrange(g1,g2,g3,g4,ncol=2)

raw graph

现在,我想在这些图中的每个图下方添加标题,如下图所示(我在Word中修改了它,所以它不美观) modified pic在提问之前,我已经在 SO 中进行了搜索,并且我知道如何在一个图下面添加标题,例如,使用 grid.text() 或这三种方法 Displaying text below the plot generated by ggplot2element_text(vjust=-10),但我无法将其应用于一张图中的四个图。同时,我在基本图中得到了一些结果 How to add a title to each plot in R?Common main title of a figure panel compiled with par(mfrow) ,问题是我想在ggplot2中进行,并且标题在每个图的下方,我该如何实现呢?谢谢!

最佳答案

你可以先用arrangeGrob包装每个图,

g1 <- g2 <- g3 <- g4 <- ggplot()
titles = LETTERS[1:4]
plots = mapply(arrangeGrob, list(g1,g2,g3,g4),
bottom = titles, SIMPLIFY=FALSE)
grid.arrange(grobs = plots, ncol=2)

enter image description here

关于r - 在 ggplot 中使用四个图在图表下方添加标题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35981671/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com