如何在 R 中使用 ggplot2 创建一个分组图形,其中一个分组显示所有数据?


要在 R 中使用 ggplot2 创建一个分组图形,其中一个分组显示所有数据,我们可以按照以下步骤操作 -

  • 首先,创建一个数据框。
  • 然后,使用 facet_grid 函数创建分组图形。
  • 之后,创建一个分组图形,将 margins 参数设置为 TRUE,以便显示包含所有数据在内的图形。

创建数据框

让我们创建一个如下所示的数据框 -

 实时演示

x<-round(rexp(25,1.25),2)
y<-round(rexp(25,1.89),2)
Grp<-sample(LETTERS[1:3],25,replace=TRUE)
df<-data.frame(x,y,Grp)
df

执行上述脚本时,将生成以下输出(由于随机化的原因,此输出在你的系统中可能有所不同) -

x y Grp
1 2.32 0.47 C
2 0.96 0.01 C
3 0.34 0.49 A
4 1.11 0.75 C
5 0.57 0.63 C
6 0.47 0.38 B
7 0.69 0.06 A
8 1.12 1.66 C
9 0.62 0.81 C
10 0.05 0.60 C
11 0.50 0.05 A
12 0.06 0.18 A
13 0.08 1.30 C
14 2.22 0.13 C
15 0.03 0.13 C
16 0.06 0.24 C
17 0.57 1.04 A
18 0.50 0.09 C
19 1.10 0.36 B
20 0.10 0.00 B
21 1.28 0.42 A
22 1.56 0.34 A
23 1.38 0.15 A
24 0.54 0.03 B
25 1.81 1.85 A

创建分组图形

使用 facet_grid 函数在 x 和 y 之间创建一个分组散点图 -

x<-round(rexp(25,1.25),2)
y<-round(rexp(25,1.89),2)
Grp<-sample(LETTERS[1:3],25,replace=TRUE)
df<-data.frame(x,y,Grp)
library(ggplot2)
ggplot(df,aes(x,y))+geom_point()+facet_grid(~Grp)

输出

创建显示一个分组并包含所有数据的分组图形

如下所示,使用 margins 参数创建显示一个分组并包含所有数据的分组图形 -

x<-round(rexp(25,1.25),2)
y<-round(rexp(25,1.89),2)
Grp<-sample(LETTERS[1:3],25,replace=TRUE)
df<-data.frame(x,y,Grp)
library(ggplot2)
ggplot(df,aes(x,y))+geom_point()+facet_grid(~Grp,margins=TRUE)

输出

更新于: 2021 年 8 月 14 日

168 次浏览

开启你的 事业

通过完成课程获取认证

开始
广告