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


第一章 简介

  一张统计图形就是数据到几何对象的图形属性的一个映射。其中,几何对象(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"绘制条形图。








  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值