ggplot2中的角标签

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ggplot2中的角标签相关的知识,希望对你有一定的参考价值。

我有兴趣尝试为要在ggplot中准备的多面板图形创建简单的角标。 This is similar to this previously asked question,但是答案仅说明了如何在图的顶部包括标签,而没有产生许多期刊所需格式的边角标签。我希望复制类似于plotrix中的corner.label()函数ggplot2的内容。

这是一个使用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)

这将产生以下内容:

<< img src =“ https://image.soinside.com/eyJ1cmwiOiAiaHR0cHM6Ly9pLnN0YWNrLmltZ3VyLmNvbS82ZGZNVy5wbmcifQ==” alt =“在此处输入图像描述”>

感谢您提前提供帮助!

答案

我遇到了同样的问题,并提出了以下解决方案,这有点不同:

正在加载r包

library(ggplot2)
library(grid)
library(gridExtra)

示例数据

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()
myplot2  <- ggplot(mydata, aes(x=b, y=c)) + geom_point()
myplot3  <- ggplot(mydata, aes(x=c, y=d)) + geom_point()
myplot4  <- ggplot(mydata, aes(x=d, y=a)) + geom_point()

设置角标签

myplot1 <- arrangeGrob(myplot1, top = textGrob("A", x = unit(0, "npc")
         , y   = unit(1, "npc"), just=c("left","top"),
         gp=gpar(col="black", fontsize=18, fontfamily="Times Roman")))

myplot2 <- arrangeGrob(myplot2, top = textGrob("B", x = unit(0, "npc")
         , y = unit(1, "npc"), just=c("left","top"),
         gp=gpar(col="black", fontsize=18, fontfamily="Times Roman")))

myplot3 <- arrangeGrob(myplot3, top = textGrob("C", x = unit(0, "npc")
        , y  = unit(1, "npc"), just=c("left","top"),
        gp=gpar(col="black", fontsize=18, fontfamily="Times Roman")))

myplot4 <- arrangeGrob(myplot4, top = textGrob("D", x = unit(0, "npc")
        , y = unit(1, "npc"), just=c("left","top"),
        gp=gpar(col="black",    fontsize=18, fontfamily="Times Roman")))

在一页上绘制所有图

grid.arrange(myplot1, myplot2, myplot3, myplot4, ncol = 2)

“角标签”“>

另一答案

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

另一答案

示例:

另一答案

这里是使用自定义贴标机功能的解决方案。这不会涉及对数据的任何操作。当前,它仅适用于一维构面(facet_wrap)。我仍在研究如何沿2D网格递增...

以上是关于ggplot2中的角标签的主要内容,如果未能解决你的问题,请参考以下文章

如何根据 ggplot2 中的某些条件删除标签?

在ggplot2中的x轴标签下方添加图像

将文本标签添加到 ggplot2 散点图

如何使用ggplot2格式化带有轴标签和旋转的R中的雷达图

用另一个文件的标签下标图形(ggplot2)中的标题

bquote轴标签ggplot2中的换行符和上标