如何在 R 中使用 ggplot2 在多面图中绘制外部图?

r programmingserver side programmingprogramming更新于 2025/6/23 13:22:17

要使用 ggplot2 在外部图中添加图描述,我们可以使用 annotate 函数和 coord_cartesian 函数。annotate 函数将定义图描述,而 coord_cartesian 函数将定义文本在绘图区域外的位置。

查看以下示例以了解其工作原理。

示例

以下代码片段创建了一个示例数据框 −

x<-rnorm(20)
y<-rnorm(20)
grp<-sample(LETTERS[1:4],20,replace=TRUE)
df<-data.frame(x,y,grp)
df

创建以下数据框 −

      x            y         grp
1   0.78077456  -1.46198018  D
2  -0.49452689   1.72471204  D
3  -1.39619653  -0.64859852  C
4  -0.73260404   0.79430612  A
5   0.83483420  -0.12772415  D
6  -1.42229860  -0.09636467  C
7   0.02591011   2.35094791  C
8   0.02007910  -0.64553958  D
9   0.78893141   0.89014539  B
10  0.28600357  -0.37031710  C
11 -1.69337019  -0.31425710  D
12  2.08396139  -1.14526981  D
13  0.74312431  -0.68121481  C
14  1.33009148   0.61906318  B
15  0.75865211   0.10783624  C
16 -0.82221628  -0.32764999  B
17 -0.28765766  -2.32935412  D
18 -1.30783428   0.48349510  B
19  2.32201111  -0.25456548  D
20 -1.50377138  -1.37306174  D

要加载 ggplot2 包并在 x 和 y 之间创建多面散点图,且绘图描述位于绘图区域之外,请将以下代码添加到上述代码片段中 −

library(ggplot2) ggplot(df,aes(x,y))+geom_point()+facet_grid(.~grp)+labs(tag="Groupwise Scatterplot")+coord_cartesian(xlim=c(-3,3),ylim=c(-3,3),clip = "off")

输出

如果将上述所有代码片段作为单个程序执行,则会生成以下输出 −


相关文章