R语言绘图基础篇-箱型图

箱型图又叫盒须图、盒式图或箱线图,是一类用来展示数据分布范围的图形,根据数据分布规律,通过计算可以得到一组数据的上限值、下限值、上下四分位值、以及中位数和异常值。通过在图中对这几个数值使用不同线进行绘制,最终得到箱型图。箱型图不同位置的线段表示的值存在差异,下两图中对箱型图中的数值进行了一个详细的解释:
R语言绘图基础篇-箱型图
R语言绘图基础篇-箱型图
(引自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语言中的基础绘图结果存在差异。
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()

R语言绘图基础篇-箱型图
图片
是不是感觉光秃秃的,很不美观?
下面开始“修图”

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))

R语言绘图基础篇-箱型图
通过设置颜色和添加箱须,绘制的图比刚才的图好看一点了,具体的要求可以根据参数自己去设置达到自己满意的结果

▉通过设置分类变量绘制箱型图
R语言绘图基础篇-箱型图
真正作图的时候,免不了会添加分类变量,绘制这种含有分类变量的箱型图,这也很简单就可以实现,通过将填充色映射给一个分类变量即可完成。

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))

R语言绘图基础篇-箱型图

总结

ggplot2包绘制箱型图可以实现多参数调整,方便快捷。箱型图作为表征数据分布范围的图形,其实存在很多的变形图,比如瓶状图、小提琴图等等,都是用来展示数据分布范围的图形,具体的操作实现方法感兴趣的可以去网上查阅一下。

R语言绘图基础篇-箱型图
动动您的小手指,为我们点个关注
我们将更加有信心的为您带来精彩内容

上一篇:数据预处理--噪声数据处理和数据不一致处理


下一篇:【转】时间序列数据中的离群点