如何利用R语言的ggplot2包绘制箱线图

小编给大家分享一下如何利用R语言的ggplot2包绘制箱线图,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!

创新互联建站基于分布式IDC数据中心构建的平台为众多户提供乐山服务器托管 四川大带宽租用 成都机柜租用 成都服务器租用。

一 绘制基本的箱线图

载入数据及函数包

library(ggplot2)library(RColorBrewer)

dose数值 变成因子变量

ToothGrowth$dose <- as.factor(ToothGrowth$dose) head(ToothGrowth) #查看数据集   len supp dose1  4.2   VC  0.52 11.5   VC  0.53  7.3   VC  0.54  5.8   VC  0.55  6.4   VC  0.56 10.0   VC  0.5

1)geom_boxplot绘制基本的箱线图

使用ToothGrowth数据集,dose变量为分类横坐标,对len变量做箱线图

ggplot(ToothGrowth, aes(x=dose, y=len)) + geom_boxplot()

如何利用R语言的ggplot2包绘制箱线图

旋转箱线图方向并设置notch

ggplot(ToothGrowth, aes(x=dose, y=len)) + geom_boxplot(notch=TRUE) + coord_flip()

如何利用R语言的ggplot2包绘制箱线图

2)修改异常点的属性

 设置outlier的 color, shape and size 

ggplot(ToothGrowth, aes(x=dose, y=len)) + geom_boxplot(outlier.colour="red", outlier.shape=18,outlier.size=4)

如何利用R语言的ggplot2包绘制箱线图

此外, outlier.fill:离群点的填充色;outlier.alpha:离群点的透明度

3)选择变量,设定顺序

ggplot(ToothGrowth, aes(x=dose, y=len)) + geom_boxplot() + stat_summary(fun.y=mean, geom="point", shape=23, size=4, col = "red") +  #添加均值scale_x_discrete(limits=c("2", "0.5")) #选择变量,更改顺序

如何利用R语言的ggplot2包绘制箱线图

4)添加最大值和最小值的两条须线

ggplot(ToothGrowth, aes(x=dose, y=len)) + stat_boxplot(geom = "errorbar",width=0.15) + #添加虚线geom_boxplot()

如何利用R语言的ggplot2包绘制箱线图

5)箱线图添加点

geom_point函数,向箱线图中添加点;

ggplot(ToothGrowth, aes(x=dose, y=len)) + geom_boxplot() + geom_dotplot(binaxis='y', stackdir='center', dotsize=1, binwidth = 1)

如何利用R语言的ggplot2包绘制箱线图

geom_jitter()函数是geom_point(position = "jitter")的包装,binaxis="y"是指沿着y轴进行分箱;

ggplot(ToothGrowth, aes(x=dose, y=len)) + geom_boxplot() + geom_jitter(shape=16, position=position_jitter(0.2))

如何利用R语言的ggplot2包绘制箱线图

二 颜色设置

aes(color=)函数为每个箱线图设置一个颜色,划分箱线图之后,可以使用scale_color_*()函数自定义颜色。

1)分组更改箱线的颜色

p<-ggplot(ToothGrowth, aes(x=dose, y=len, color=dose)) + geom_boxplot()p

如何利用R语言的ggplot2包绘制箱线图

自定义颜色方案

# Use custom color palettesp+scale_color_manual(values=c("#999999", "#E69F00", "skyblue"))# Use brewer color palettesp+scale_color_brewer(palette="Set3")+ theme_classic()# Use grey scalep + scale_color_grey() + theme_classic()

如何利用R语言的ggplot2包绘制箱线图

2)更改箱子填充颜色

fill 填充色 ; color 箱线的外框颜色

#单组 设置颜色

ggplot(ToothGrowth, aes(x=dose, y=len)) + geom_boxplot(fill='#A4A4A4', color="black")+ theme_classic()

#分组 设置颜色 , 自定义颜色设置方案同上

ggplot(ToothGrowth, aes(x=dose, y=len, fill=dose)) + geom_boxplot() + scale_fill_brewer(palette="Dark2") + theme_classic()

如何利用R语言的ggplot2包绘制箱线图

三 图例,标题设置

1)设置legeng

Legend是对箱线图的解释性描述,默认的位置是在画布的右侧中间位置,可以通过theme()函数修改Legend的位置

p + theme(legend.position="top")p + theme(legend.position="bottom")p + theme(legend.position="none") # Remove legend

如何利用R语言的ggplot2包绘制箱线图

2)labs设置标题及坐标标签

p+theme(legend.position="bottom") + labs(title="Plot of length  per dose",x="Dose (mg)", y = "Length")

如何利用R语言的ggplot2包绘制箱线图

3)其他theme详细设置可参考ggplot2-theme(主题)以及ggplot2-图形微调(1)

四 箱线图汇总展示

ggplot(ToothGrowth, aes(x=dose, y=len, fill=dose)) +   stat_boxplot(geom = "errorbar",width=0.15)+  geom_boxplot()+  geom_dotplot(binaxis='y', stackdir='center', dotsize=0.5, binwidth = 1)+  labs(title="Plot of length  per dose",x="Dose (mg)", y = "Length")+  scale_fill_manual(values=c("#999999", "#E69F00", "#56B4E9")) +   theme(legend.position="none")+  theme_minimal()

如何利用R语言的ggplot2包绘制箱线图

看完了这篇文章,相信你对“如何利用R语言的ggplot2包绘制箱线图”有了一定的了解,如果想了解更多相关知识,欢迎关注创新互联行业资讯频道,感谢各位的阅读!


分享标题:如何利用R语言的ggplot2包绘制箱线图
本文来源:http://azwzsj.com/article/pcejoo.html