如何在 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")
输出
如果将上述所有代码片段作为单个程序执行,则会生成以下输出 −