
ggplot2
文章平均质量分 90
金子哦
教师
展开
-
ggplot2作图详解2:ggplot图形对象
前面我们使用qplot函数对ggplot2做图的方法进行了初步的了解,并比较了qplot和plot函数的用法。从最终得到的结果(图形)来看,除了外观不同外好像qplot函数和plot函数并没有什么本质的差别。这其实是一个骗局。1 图形对象我们知道,R语言基本做图方法都是通过函数完成的(如果不了解请参考散点图一文),这些函数直接在输出设备上执行一些列操作得到图形。很多函数没有返回值,即使原创 2014-04-23 16:22:10 · 15394 阅读 · 3 评论 -
ggplot2作图详解1:入门函数qplot
ggplot2的功能不用我们做广告,因为它的作者Hadley Wickham就说ggplot2是一个强大的作图工具,它可以让你不受现有图形类型的限制,创造出任何有助于解决你所遇到问题的图形。一点也不谦虚。H.W.还说了另外一句话,“学习ggplot2你得忘记一些东西”,所以也有人说ggplot2是作图软件中的太极功。有点高深。那好吧,我就怀着无比崇敬的心情来学一学这太极图法。先安装软件包:i原创 2014-04-23 16:22:07 · 26350 阅读 · 11 评论 -
ggplot2作图详解3:映射(mapping)
作图前的数据准备工作不仅仅指原始数据的收集,还包括数据外观的整理,这些工作对后续的作图无疑十分重要。和其他作图方法相比,ggplot2的优点之一就是把数据整理融合到了作图过程中,替用户分担了数据整型的部分工作。ggplot2数据层面的操作包括映射和分面。先说映射。1 映射的类型前面我们已经了解到ggplot对象的data项存储了整个数据框的内容,而“映射”则确定如何使用这些数据,。原创 2014-04-23 16:22:12 · 18816 阅读 · 2 评论 -
ggplot2作图详解4:分面(faceting)
“facet”一词这里翻译为“分面”,不知道是否准确,可以斟酌。虽然我们前面说过ggplot2分面最终的效果是一页多图,但跟通常所说的在“一个页面中绘制多个图形”还是有区别的。ggplot2分面体现的是数据分组,同一页面中的多个小图是完全相同的类型。真正意义的“一页多图”在ggplot2中需要通过其他方法实现。ggplot2的分面有两种方式,分别使用 facet_wrap 或 facet_g原创 2014-04-23 16:22:14 · 54344 阅读 · 1 评论 -
ggplot2作图详解5:图层语法和图形组合
图层设置是ggplot2作图的关键。通过查看ggplot图形对象的数据结构我们了解到一个图层至少包含几何类型、统计类型和位置调整三方面的东西,当然数据和映射得首先建立。如果把ggplot2当成是太极,这些内容的设置就相当于太极的招式,有固定方法;对招式理解透彻后以随意对它们进行组合,并融合数据层面的一些设置(如分面、美学属性映射等)创造出用于解决问题的完美图形。Table of Con原创 2014-04-23 16:22:20 · 22955 阅读 · 1 评论 -
ggplot2作图详解6:标尺(scale)设置
标尺是ggplot2作图必需的元素,在映射一节提到了它的概念并简单进行了设置。在数据分析阶段,为避免陷入数据无关的垃圾坑,我们只需要设置映射,ggplot2自动配置合适的标尺并产生坐标和图例。这是ggplot2适合数据可视化分析的原因之一。在图形美化阶段,我们可以通过修改标尺改善图形外观。标尺设置一般不会对数据产生影响,但坐标轴标尺除外。Table of Contents1. 标尺原创 2014-04-23 16:22:23 · 59331 阅读 · 1 评论 -
ggplot2作图详解7(完):主题(theme)设置
凡是和数据无关的图形设置内容理论上都可以归为主题类,但考虑到一些内容(如坐标轴)的特殊性,可以允许例外的情况。主题的设置相当繁琐,很容易就占用了大量的作图时间,应尽量把这些东西简化,把注意力主要放在数据分析上。基于这种考虑,ggplot2主题设置的内容虽然相当多,本文仅在总体上作一简单介绍。1 theme函数及其参数让使用者在数据分析阶段能专注于数据而不是图形细节,这是数据可视化分析工原创 2014-04-23 16:22:25 · 91334 阅读 · 2 评论 -
ggplot2柱形图Y轴坐标扩展的简单方法
ggplot2的坐标轴主要由映射aes确定,expand_limits和coord_cartesian虽然可以调整坐标轴刻度,但对柱形图不大适用。不少使用者对扩展柱形图Y轴坐标很烦恼,有人从源代码层面对开发者提出要求,但似乎Hadley对这些要求无动于衷。其实根本不用动源代码就有简单的解决办法:library(ggplot2)dtx data.frame(label =原创 2017-10-22 10:53:51 · 15539 阅读 · 1 评论