博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
《R数据可视化手册》——2.5 绘制箱线图
阅读量:6952 次
发布时间:2019-06-27

本文共 1183 字,大约阅读时间需要 3 分钟。

本节书摘来异步社区《R数据可视化手册》一书中的第2章,第2.5节,作者:【美】Winston Chang,更多章节内容可以访问云栖社区“异步社区”公众号查看。

2.5 绘制箱线图

问题

如何绘制箱线图以对不同分布进行比较?

方法

使用plot()函数绘制箱线图(见图2-10)时向其传递两个向量:x和y。当x为因子型变量(与数值型变量对应)时,它会默认绘制箱线图:

plot(ToothGrowth$supp, ToothGrowth$len)```当两个参数向量包含在同一个数据框中时,也可以使用公式语法。公式语法允许我们在x轴上使用变量组合,如图 2-10 所示。

公式语法

boxplot(len ~ supo, data = ToothGrowth)

在x轴上引入两变量的交互

boxplot(len ~ supp + dose, data = ToothGrowth)

对于ggplot2包,你可以使用qplot()函数绘制同样的图形(见图2-11),使用时将参数设定为geom="boxplot":

library(ggplot2)

qplot(ToothGrowth$supp, ToothGrowth$len, geom="boxplot")`

b1222908f2aeb1c5dba6deae137ebcb3373a5e94

当两个参数向量在同一个数据框内时,则可以使用下面的语句:

qplot(supp, len, data=ToothGrowth, geom="boxplot")# 这等价于ggplot(ToothGrowth, aes(x=supp,y=len)) + geom_boxplot()

使用interaction()函数将分组变量组合在一起也可以绘制基于多分组变量的箱线图,如图2-11右图所示。本例中,dose变量是数值型,因此,我们必须先将其转化为因子型变量,再将其作为分组变量:

# 使用三个独立的向量参数qplot(interaction(ToothGrowth$supp, ToothGrowth$dose), ToothGrowth$len,geom="boxplot")# 也可以以数据框中的列作为参数qplot(interaction(supp, dose), len, data=ToothGrowth, geom="boxplot")# 这等价于ggplot(ToothGrowth, aes(x=interaction(supp, dose), y=len)) + geom_boxplot()

你可能会注意到基础绘图系统绘制的箱线图与ggplot2略有不同。这是因为两者在绘图过程中调用的计算分位数的方法略有差异。运行?geom_boxplot和?boxplot.base命令可以得到更多关于两者差异的细节信息。

另见
更多关于绘制箱线图的内容参见6.6节。

转载地址:http://aunil.baihongyu.com/

你可能感兴趣的文章
震撼可视化,讲述宇宙生命和宇宙垃圾
查看>>
如何在 Ubuntu16.04 中用 Apache 部署 Jenkins 自动化服务器
查看>>
《jQuery Cookbook中文版》——1.17 在不造成全局冲突的情况下使用$别名
查看>>
大数据常见术语表
查看>>
奥克斯天猫618首日破亿,有态度的国货空调说这是新常态
查看>>
《微软云计算Windows Azure开发与部署权威指南》——6.10 小结
查看>>
在UEFI模式下安装Ubuntu 14.04与Windows 8/8.1双启动
查看>>
《破茧成蝶——用户体验设计师的成长之路》—2.2 用户体验设计师的价值
查看>>
《CCNA学习指南:数据中心(640-911)》——2.4 小结
查看>>
《Android游戏开发详解》——第3章,第3.6节图形
查看>>
《Spring 5 官方文档》16.ORM和数据访问(三)
查看>>
格灵深瞳出手,灵异视频告破
查看>>
《OpenGL超级宝典(第5版)》——第1章,第1.4节3D编程的基本原则
查看>>
使用Observium来监控你的网络和服务器
查看>>
蚂蚁区块链团队资讯简报20170514
查看>>
阿里聚安全攻防挑战赛获奖名单公布
查看>>
当当网资深DBA:DB运维四大现代化的实现
查看>>
轻松搞定实时分析及监控大屏
查看>>
Spark应用(app jar)发布到Hadoop集群的过程
查看>>
OAuth 2.0 认证的原理与实践
查看>>