箱型图又叫盒须图、盒式图或箱线图,是一类用来展示数据分布范围的图形,根据数据分布规律,通过计算可以得到一组数据的上限值、下限值、上下四分位值、以及中位数和异常值。通过在图中对这几个数值使用不同线进行绘制,最终得到箱型图。箱型图不同位置的线段表示的值存在差异,下两图中对箱型图中的数值进行了一个详细的解释:
(引自MBA智库百科https://wiki.mbalib.com/wiki/Image:%E7%AE%B1%E7%BA%BF%E5%9B%BE%E5%9B%BE%E7%A4%BA.jpg#filelinks)
如何画好一个箱线图,不同的绘图软件提供的方法不同,最终绘制出的图形也形式各样,尽管如此,他们表示的意义都是相同的。ggplot2包提供了绘制箱型图的函数,与R语言中的基础绘图结果存在差异。
使用基础绘图函数boxplot与ggplot2绘制的箱型图
ggplot2中主要是用到了geom_boxplot()函数,同时包含添加箱须的stat_boxplot()函数,具体以mtcars数据作为案例进行绘制。
▉首先来一个简单的箱型图
library(ggplot2)
mtcars$cyl.f <- factor(mtcars$cyl,levels=c(4,6,8),
labels=c("4","6","8"))
mtcars$am.f <- factor(mtcars$am,levels=c(0,1),
labels=c("auto","standard"))
ggplot(mtcars,aes(cyl.f,mpg))+
geom_boxplot()
图片
是不是感觉光秃秃的,很不美观?
下面开始“修图”
ggplot(mtcars,aes(cyl.f,mpg))+
stat_boxplot(geom="errorbar",width=0.1,size=0.5,position=position_dodge(0.6),color="blue")+
geom_boxplot(position=position_dodge(0.6),
size=0.5,
width=0.3,
fill="gold",
color="blue",
outlier.color = "blue",
outlier.fill = "red",
outlier.shape = 19,
outlier.size = 1.5,
outlier.stroke = 0.5,
outlier.alpha = 45,
notch = F,
notchwidth = 0.5)+
theme(axis.title = element_text(size=18),
axis.text = element_text(size=14))
通过设置颜色和添加箱须,绘制的图比刚才的图好看一点了,具体的要求可以根据参数自己去设置达到自己满意的结果
▉通过设置分类变量绘制箱型图
真正作图的时候,免不了会添加分类变量,绘制这种含有分类变量的箱型图,这也很简单就可以实现,通过将填充色映射给一个分类变量即可完成。
ggplot(mtcars,aes(cyl.f,mpg))+
stat_boxplot(aes(fill=am.f),geom="errorbar",width=0.1,size=0.5,position=position_dodge(0.6),color="blue")+
geom_boxplot(aes(fill=am.f),
position=position_dodge(0.6),
size=0.5,
width=0.3,
color="blue",
outlier.color = "blue",
outlier.fill = "red",
outlier.shape = 19,
outlier.size = 1.5,
outlier.stroke = 0.5,
outlier.alpha = 45,
notch = F,
notchwidth = 0.5)+
theme(axis.title = element_text(size=18),
axis.text = element_text(size=14))
总结
ggplot2包绘制箱型图可以实现多参数调整,方便快捷。箱型图作为表征数据分布范围的图形,其实存在很多的变形图,比如瓶状图、小提琴图等等,都是用来展示数据分布范围的图形,具体的操作实现方法感兴趣的可以去网上查阅一下。
动动您的小手指,为我们点个关注
我们将更加有信心的为您带来精彩内容