gpt4 book ai didi

r - 在多面板 ggplot2 中标记各个面板

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

我有兴趣尝试为我正在 ggplot 中准备的多面板图形创建简单的角标签。 This is similar to this previously asked question ,但答案仅解释了如何在图的顶部包含标签,而不是按照许多期刊要求的格式生成角标签。我希望在 ggplot2 中复制类似于 plotrix 函数 corner.label() 的东西。

这是一个使用 plottrix 的示例,我想在 ggplot2 中重新创建它。

require(plotrix)

foo1<-rnorm(50,25,5)
foo2<-rpois(50,25)
foo3<-rbinom(50,25,0.5)
foo4<-rnbinom(50,25,0.5)

par(mfrow=c(2,2))
hist(foo1)
corner.label(label='a',figcorner=T)
hist(foo2)
corner.label(label='b',figcorner=T)
hist(foo3)
corner.label(label='c',figcorner=T)
hist(foo4)
corner.label(label='d',figcorner=T)

这会产生以下结果:

enter image description here

感谢您提前提供的任何帮助!

最佳答案

最近的两项更改使这变得更加容易:

这意味着不需要更改 grobs。改编 Kev 提供的可重现示例:

library(ggplot2)
# install.package("patchwork")
library(patchwork)

a <- 1:20
b <- sample(a, 20)
c <- sample(b, 20)
d <- sample(c, 20)
mydata <- data.frame(a, b, c, d)

myplot1 <- ggplot(mydata, aes(x=a, y=b)) + geom_point() + labs(tag = "A")
myplot2 <- ggplot(mydata, aes(x=b, y=c)) + geom_point() + labs(tag = "B")
myplot3 <- ggplot(mydata, aes(x=c, y=d)) + geom_point() + labs(tag = "C")
myplot4 <- ggplot(mydata, aes(x=d, y=a)) + geom_point() + labs(tag = "D")

myplot1 + myplot2 + myplot3 + myplot4

enter image description here

扩展:改变风格:

如果您想更改标签样式,您可以为每个绘图单独设置或设置主题默认值。我会推荐第二种方法。在构建绘图之前添加以下行,以使字体粗体蓝色

ggplot2::theme_update(plot.tag = element_text(face = "bold", colour = "blue"))

有关自定义ggplot2主题的更多信息,请参阅here .

关于r - 在多面板 ggplot2 中标记各个面板,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17576381/

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