如何使用 ggplot2 - 知乎.pdfVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
如何使用 ggplot2 - 知乎

搜索你感兴趣的内容... 首页 话题 发现 消息 提问 Sean 数据可视化 R (编程语言 ) 修改 如何使用 ggplot2  ? 修改 写补充说明     举报 添加评论  分享 • 邀请回答 12 个回答 按投票排序 黄宝臣  ,数据分析师/数据可视化设计师/电影爱好者… 281 281 人赞同 我也来占个坑吧。。。我主要讲理念的东西 ,希望大家有一定经验的再来看此答案。 总结来说有以下几点 : ggplot2的核心理念是将绘图与数据分离 ,数据相关的绘图与数据无关的绘图分离 ggplot2是按图层作图 ggplot2保有命令式作图的调整函数 ,使其更具灵活性 ggplot2将常见的统计变换融入到了绘图中。 1、ggplot2的逻辑。 ggplot2的逻辑在我看来其实是真正实现了一个图层叠加的概念 :一句语句代表一张图 ,然后再有最小的单元图层。这个与其他命令式的绘图完全不同 , 来做个比较 : #这是基于graphic包里例子  x ‐ rnorm(100,14,5)  y ‐ x + rnorm(100,0,1)  plot(x,y)  text(13,20, expression(x[1] == x[2]))  输出的图是这样的 : 我们可以看到这种绘图方式实际上是按命令添加的 ,以plot开始 ,可以以任何方式结束 ,每加上一个元素 ,实际上都是以一句单独的命令来实现的。这 样做的缺点就是 ,其实不符合人对于画图的一般认识。其次 ,就是 ,我们没有一个停止绘图的标志 ,这使得有时候再处理的时候就会产生一些困惑。优 势其实也有 ,在做参数修改的时候 ,我们往往可以很方便地直接用一句单独的命令修改 ,譬如对于x轴的调整 ,觉得不满意就可以写命令直接调整。而 ggplot2则意味着要重新作图。 再来看ggplot2的代码 : x ‐ rnorm(100,14,5)   y ‐ x + rnorm(100,0,1)   ggplot(data= NULL, aes(x = x, y = y)) +  #开始绘图    geom_point(color = darkred) +  #添加点    annotate(text,x =13 , y = 20,parse = T,             label = x[1] == x[2]) #添加注释  画出的结果如下 : 我们可以发现 ,ggplot的绘图有以下几个特点 :第一 ,有明确的起始 (以ggplot函数开始 )与终止 (一句语句一幅图 );其二 ,图层之间的叠加是 靠“+”号实现的 ,越后面其图层越高。 其次就是对于分组数据的处理 ,其实这方面 ,lattice已经做得很好了 ,不过我会在后面更仔细地叙述ggplot2是怎么看分组数据的绘图的。 2. ggplot2的要素 我们这里不谈qplot (quickly plotting )方法 ,单纯谈ggplot方法。不谈底层的实现思想 ,我们简单地理解 ,ggplot图的元素可以主要可以概括如下 :最大 的是plot (指整张图 ,包括background和title ),其次是axis (包括stick ,text ,title和stick )、legend (包括backgroud、text、title )、facet这是第二 层次 ,其中facet可以分为外部strip部分 (包括backgroud和text )和内部panel部分 (包括backgroud、boder和网格线grid ,其中粗的叫grid.major ,细的 叫grid.minor)。大致见下图 ,这部分内容的熟悉程度直接影响到对于theme的掌握 ,因此希望大家留心。 3. ggplot2图层以及其他函数的分类 好了 ,现在把这些理念的东西讲完了之后

文档评论(0)

dajuhyy + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档