注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

Puriney's Notes

Puriney=purine+Y, my Wonderland

 
 
 

日志

 
 

[Daily-R] ggplot2限定x或者y坐标轴而不产生misleading graph  

2012-11-02 17:15:02|  分类: QWERT |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
Rstudio又更新了 于是我好奇配上的附图里面是个什么代码, 很显然, 这是用很多人喜欢的ggplot2来绘制的. 

[Daily-R] ggplot2限定x或者y坐标轴而不产生misleading graph - Puriney - Purineys Notes
 
从定义x坐标轴数据来看, 略瞥见了原图作者对数据处理的细心. Y叔吐槽了用excel切y轴数据, 容易产生经典的misleading graph. 所谓misleading graph如其名, 是让数据产生歧义. 不禁感叹数据从不会骗人, 但是展示出来后可以有一千个哈姆雷特的版本. 

引用wikipedia上的图, 这一左一右, y轴的选取不同, 最后可以口述表达的意思, 大相径庭. 
[Daily-R] ggplot2限定x或者y坐标轴而不产生misleading graph - Puriney - Purineys Notes[Daily-R] ggplot2限定x或者y坐标轴而不产生misleading graph - Puriney - Purineys Notes
 
回到rstudio这张配图, 用ggplot2限定x轴区域, 可以简单地用xlim(1,3.5), 也可以coord_cartesian(xlim=c(1,3.5))这样, 区别就在于, 前者会忽略掉溢出(1,3.5)的所有数据, 而后者则是真正的放大到局部. 

[Daily-R] ggplot2限定x或者y坐标轴而不产生misleading graph - Puriney - Purineys Notes[Daily-R] ggplot2限定x或者y坐标轴而不产生misleading graph - Puriney - Purineys Notes

这一点在y轴上体现的更为明显, 可以参看cookbook for R的一篇指南: 

原始正常数据图: 
[Daily-R] ggplot2限定x或者y坐标轴而不产生misleading graph - Puriney - Purineys Notes

# These two do the same thing; all data points outside the graphing range are dropped,
# resulting in a misleading box plot
bp + ylim(5, 7.5)
bp + scale_y_continuous(limits=c(5, 7.5))

# Using coord_cartesian "zooms" into the area
bp + coord_cartesian(ylim=c(5, 7.5))

[Daily-R] ggplot2限定x或者y坐标轴而不产生misleading graph - Puriney - Purineys Notes[Daily-R] ggplot2限定x或者y坐标轴而不产生misleading graph - Puriney - Purineys Notes
  
 这就是坐标轴的差别, 什么是misleading? 这就是...
  评论这张
 
阅读(3404)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017