gpt4 book ai didi

r - 用 grid.arrange 排列的标签图

转载 作者:行者123 更新时间:2023-12-05 02:09:24 25 4
gpt4 key购买 nike

我使用 grid.arrange 将多个图附加到一页。

有没有办法用“(a)”,“(b)”等标记每个图......

我试过使用 geom_text 但它似乎与我的绘图不兼容....

my plots

....如您所见,geom_text 与我的图例符号有一些奇怪的交互。

我将展示一个使用 mtcars 数据的示例,说明我正在努力实现的目标。我发现的 geom_text 的替代方法是“注释”,它不与我的图例符号交互。然而,只标记一个方面并不容易....

q1=ggplot(mtcars, aes(x=mpg, y=wt)) + 
geom_line() +
geom_point()+
facet_grid(~cyl)+
annotate(geom="text", x=15, y=12, label="(a)",size=8,family="serif")

q2=ggplot(mtcars, aes(x=mpg, y=wt,)) +
geom_line() +
geom_point()+
facet_grid(~cyl)+
annotate(geom="text", x=15, y=12, label="(b)",size=8,family="serif")


geom_text(x=15, y=5,size=8, label="(b)")

gt1 <- ggplotGrob(q1)
gt2 <- ggplotGrob(q2)


grid.arrange(gt1,gt2, ncol=1)

mtcars example

因此,我的问题是,有没有一种方法可以标记使用 grid.arrange 排列的图,以便每个图中的第一个面都标有 a、b 或 c 等...?

最佳答案

您可以使用 ggpubr 包中的 ggarrange 并使用参数 labels 为每个绘图设置标签:

library(ggplot2)
library(ggpubr)
q1=ggplot(mtcars, aes(x=mpg, y=wt)) +
geom_line() +
geom_point()+
facet_grid(~cyl)+
annotate(geom="text", x=15, y=12, label="(a)",size=8,family="serif")

q2=ggplot(mtcars, aes(x=mpg, y=wt,)) +
geom_line() +
geom_point()+
facet_grid(~cyl)+
annotate(geom="text", x=15, y=12, label="(b)",size=8,family="serif")

ggarrange(q1,q2, ncol = 1, labels = c("a)","b)"))

enter image description here

是您要找的吗?

关于r - 用 grid.arrange 排列的标签图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59925895/

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