第一章 简介

  一张统计图形就是数据到几何对象的图形属性的一个映射。其中,几何对象(geometric object,缩写为geom)包括点、线、条形等;图形属性(aesthetic attributes,缩写为aes)包括颜色、形状、大小等。

  此外,图形中还可能包含数据的统计变化(statistical transformation,缩写为stats),最后绘制在某个特定的坐标系(coordinate system,缩写为coord)中,而分面(facet,将绘图窗口划分为若干个子窗口)则可以用来生成数据不同子集的图形。一张统计图形就是由上述这些独立的图形部件所组成的。

  数据 Data

  映射 mapping:将数据中的变量对应到图形属性。

  几何对象 geom:代表我们在图中实际看到的图形元素,如点、线、多边形等。

  统计变换 stats:对数据进行的某种汇总。

  标度 scale:将数据的取值映射到图形空间,例如用颜色、大小或形状来表示不同的数值,展现标度的常见做法是绘制图例和坐标轴——实际上是从图形到数据的映射,读者可以从图形中读取原始的数据。

  坐标系 coord:描述数据如何映射到图形所在的平面,同时提供看图需要的坐标轴和网格线,例如笛卡尔坐标系、极坐标和地图投影。

  分面 facet:描述如何将数据分解为各个子集,以及如何对子集作图并联合进行展示,也称为条件作图或网格作图。

第二章 从qplot开始入门

(一)基本用法

qplot(x, y = NULL, ..., data)

x, y         Aesthetics passed into each layer

data       Data frame to use (optional). If notspecified, will create one, extracting vectors from the current environment.

X和y分别代表图形的x坐标和y坐标,qplot支持将变量的函数作为参数x和y,data参数如果进行了指定,qplot会首先在该数据框内查找变量名,然后再在R的工作空间中进行搜索。

library(ggplot2)
diamonds[1:5,]
qplot(carat,price,data=diamonds)
qplot(log(carat),log(price),data=diamonds)

         

(二)添加颜色、大小、形状和其他图形属性

1、颜色、大小和形状是图形属性的具体例子,它们都是影响数据如何进行展示的视觉属性,每一个图形属性都对应了一个称为标度的函数,其作用是将数据的取值映射到该图形属性的有效值,在ggplot2中,标度控制了点以及对应的图例的外观。

set.seed(1410) #让样本可重复
dsmall<-diamonds[sample(nrow(diamonds),100),]#从diamonds数据集中产生容量为100的随机样本
qplot(carat,price,data=dsmall,colour=color,shape=cut)#颜色和形状标度将钻石的颜色和形状映射为对应图形的颜色和形状

2、使用I()手动设置图形属性

qplot(carat,price,data=dsmall,colour=I("red"),size=I(2))
qplot(carat,price,data=dsmall,colour=I("blue"),size=I(4))

3、使用alpha图形属性设置颜色的不透明度,其取值从0(完全透明)变动到1(完全不透明),透明度可以用分数来表示,例如1/10,1/20。

qplot(carat,price,data=diamonds,alpha=I(1/10))
qplot(carat,price,data=diamonds,alpha=I(1/100))
qplot(carat,price,data=diamonds,alpha=I(1/200))


透明度分母表示经过多少次重叠后颜色将变得不透明,上例将alpha值从1/10变动到1/100再到1/200,可以看出大部分点在哪里进行重叠。

(三)几何对象

几何对象描述了应该用何种对象来对数据进行展示,其中有些几何对象关联了相应的统计变换,通过改变几何对象几乎可以画出任何一种类型的图形。

适用于考察二维变量关系的几何对象:

1、geom="point":散点图,当指定x和y参数给qplot()时默认的设置;

2、geom="smooth":拟合一条平滑曲线,并将曲线和标准误展示在图中,如果不想绘制标准误,可以使用se=FALSE;利用method参数可以选择不同的平滑器。

qplot(carat,price,data=dsmall,geom=c("point","smooth"))
qplot(carat,price,data=diamonds,geom=c("point","smooth"))


注:上例中利用c()函数将多个几何对象组成一个向量传递给geom,几何对象会按照指定的顺序进行堆叠。

3、geom="boxplot":箱线胡须图,用以概括一系列点的分布情况;

4、geom="path"和geom="line":在数据点之间绘制连线(线条图和路径图);

适用一维分布的几何对象:

连续变量:geom="histogram"绘制直方图,geom="freqpoly"绘制频率多边形,geom="density"绘制密度曲线,如果只有x参数传递给qplot,则直方图为默认选择。

离散变量:geom="bar"绘制条形图。

读书笔记 ▏ggplot2数据分析与图形艺术Ch.1-2相关推荐

  1. 吐血整理!万字原创读书笔记,数据分析的知识点全在这里了

    作者:JaneK 来源:大数据DT 导读:今天这篇文章是「大数据」内容合伙人JaneK关于<Python数据分析与数据化运营>的一篇读书笔记. 本文目录: Python数据分析与挖掘 01 ...

  2. 《ggplot2:数据分析与图形艺术》,读书笔记

    第1章 简介 1.3图形的语法 第2章从qplot开始入门 1.基本用法:qplot(x,y,data) x是自变量横轴,y是因变量纵轴,data是数据框 2.图形参数 colour=I(" ...

  3. 《ggplot2:数据分析与图形艺术》--学习笔记6

    标度 所有的标度构建器(scale constructor)都拥有一套通用的命名方案.它们以scale_开头,接下来是图形属性的名称(例如,colour_.shape_ 或 x_),最后以标度的名称结 ...

  4. 读书笔记//《数据分析:企业的贤内助》

    出版时间:2013年. 作者明显是做咨询顾问出身的,从举例可以洞见作者的工作经历. 数据分析师是个杂家--作者陈哲. 为什么写这本书? 懂得再多知识却不会用,原因是缺少通往思路.方法和技能的两条路径- ...

  5. PHP Cookbook读书笔记 – 第17章图形

    概述 PHP中绘制图形多使用GD库来实现,GD的功能多寡会因你使用的GD版本以及在配置期间启用了哪些选项而有很大的不同. 常用的GD函数 ImageCreate() : 创建一个基于调色板的图像 Im ...

  6. 【读书笔记->数据分析】03 BDA数据可视化

    数据可视化 介绍 章节内容 数据可视化的概念.原理与各种常用的分析方法 考试内容 数据可视化简介 (1) 数据可视化的基本概念 (2) 数据可视化的发展历史 (3) 数据可视化的基本作⽤ (4) 数据 ...

  7. 【读书笔记->数据分析】BDA教材《数据分析》书籍介绍

    BDA教材<数据分析>书籍介绍 BDA BDA数据分析职业技能等级. 旨在培养基于数据分析理论.计算机技术以及行业案例应用"三维一体"的大数据分析人才. 培养数据管理. ...

  8. 读书笔记:《爱的艺术》

    爱的艺术:何以为爱? 除了努力积极发展你的全部个性,使之形成一种创造性人格倾向外,一切爱的尝试都一定是要失败的:没有爱自己邻人的能力,没有真诚的谦恭.勇气.忠诚.自制,就不可能得到满意的个人的爱. 一 ...

  9. ggplot2读书笔记9:第六章 标度(二)

    今天来学习第六章标度部分的最后一节~ 6.6 标度工具箱(Scales Toolbox) 除了调整标度的默认选项之外,你也可以重新创建新的标度,主要分为以下四类: 连续型位置标度:用于将整数.数值.日 ...

最新文章

  1. Linux网络编程--TCP中的三次握手和四次挥手
  2. 台式计算机的cpu设置,i7型CPU进行了修改并在台式计算机上使用,这才是真正的计算机之神!...
  3. 字母全排列快速算法C代码
  4. 【飞谷六期】爬虫项目4
  5. 计算机生物模拟试题,2017年高考理综生物部分模拟试题
  6. 转ubuntu下中文乱码解决方案(全)
  7. 二维数组作为形参的参数传递问题[08-0704]-转
  8. 安装Eclipse ADT插件时遇到的一些问题,错误
  9. ACM-百度之星资格赛之Energy Conversion——hdu4823
  10. windows交互式登陆
  11. python怎么查询帮助信息_Python 查看模块的帮助文档,方法和帮助信息
  12. MATLAB 棋类小游戏合集(围棋,六子棋,走四棋,九子棋,含禁手五子棋等等)
  13. 源码编译安装Netron模型可视化工具
  14. 怎么把cad的图导入ps_怎么将cad图形导入ps中处理
  15. LPC1768 IAR环境下使用完整64K内存的方法_整理
  16. 超过100项改进 100tv聚好看全新发布
  17. 老司机的奇怪noip模拟T1-guanyu
  18. CALL入门篇一:CALL的本质
  19. 鹰眸安全帽识别系统对施工现场管理水平的提升
  20. Android Native jni 编程入门

热门文章

  1. [轉]解决Windows XP下缩略图显示模式下文件夹没有名称的方法
  2. linux wegt克隆网站,linux利用wget命令备份网站(镜像拷贝)
  3. javascript返回页面顶部_RobotFramework: 执行JavaScript语句
  4. mate7 刷机 android 7,Mate7 四大版本完整稳定版刷机包大集合!
  5. Android/ios手机销售榜信息
  6. 初级测试如何快速成长和进步
  7. java dom4j 写xml文件_Java实现——Dom4j读写XML文件
  8. 大视场相机prnu测试标准_史上最全,阻燃性能测试方法、标准大揭秘
  9. Matlab使用过程中内存不足问题的总结(修改)
  10. 集宁哪有计算机培训班,集宁区有这么一个空间,叫共享自习室