如何在R中使用ggplot2创建没有边框的箱线图?


我们知道箱线图的中间部分是一个带有黑色边框的框,但我们可以通过使用color参数定义箱线图的美学来移除该边框。我们可以按照以下步骤创建这种类型的箱线图:

  • 创建数据框。
  • 然后创建一个默认的箱线图。
  • 加载ggplot2包并创建相同的不带边框的箱线图。

创建数据框

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

 在线演示

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

执行上述脚本后,将生成以下输出(由于随机化,此输出将在您的系统上有所不同):

  x       y     grp
1 C -2.03011561 Male
2 A -0.11006189 Female
3 D 1.14021182  Female
4 A 0.13282948  Male
5 C 1.24059685  Female
6 A -0.64027706 Female
7 D 2.69644400  Male
8 B -0.16214751 Male
9 C -0.57809399 Female
10 B 1.13308146 Female
11 A 0.09518827 Female
12 D -0.49467890 Female
13 C -2.07383434 Male
14 A 0.48415726  Male
15 C -0.85017870 Female
16 B -1.39666444 Female
17 A 1.61422362  Male
18 C 0.44615237  Male
19 D -1.35304529 Female
20 C -0.56352488 Male

创建默认的箱线图

加载ggplot2包并为grp列中的类别创建箱线图:

x<-sample(LETTERS[1:4],20,replace=TRUE)
y<-rnorm(20)
grp<-sample(c("Male","Female"),20,replace=TRUE)
library(ggplot2)
ggplot(df,aes(x,y,fill=grp))+geom_boxplot()

输出

创建没有边框的箱线图

为grp列中的类别创建不带边框的箱线图:

x<-sample(LETTERS[1:4],20,replace=TRUE)
y<-rnorm(20)
grp<-sample(c("Male","Female"),20,replace=TRUE)
library(ggplot2)
ggplot(df,aes(x,y,fill=grp))+geom_boxplot()+geom_boxplot(aes(color=grp))

输出

更新于: 2021年8月13日

1K+ 次查看

开启你的 职业生涯

通过完成课程获得认证

开始学习
广告