ggplot2读书笔记7:第五章 通过图层构建图像

Build a Plot Layer by Layer

5.1 简介

(略)

5.2 创建图表

(以汽车耗油量mpg数据集为例)

当我们使用ggplot()创建图表时,最基本的代码是:

ggplot(mpg, aes(displ, hwy)) +
  geom_point()

实际上这条代码包含了两步命令:

第一个是:

p <- ggplot(mpg, aes(displ, hwy))

它的意义只是创建了一个图层(将这个图层赋予变量p),横纵坐标是数据集mpg中的两组变量名称displhwy,但是由于没有命令几何图形,数据无法形成映射,所以就是一块只有横纵坐标的白板↓↓↓↓↓↓

image

第二个是:

p + geom_point()

在p的基础上,添加函数geom_point()(散点图),括号是空的就是各种参数都是默认值,于是有了确切的几何图形命令,白板上就有图了↓↓↓↓↓↓

image

geom_point()这个命令的背后,隐藏着一个叫做layer()的命令,他的意思是创造一个图层,下面的代码里显示了藏在layer()里面的各种参数:

p + layer(
mapping = NULL,
data = NULL,
geom = "point",
stat = "identity",
position = "identity"
)

这里面就包括了图层(layer)的五个重要组成部分:

  1. mapping:映射,就是aes()函数,通常省略,NULL就是指默认的ggplot()函数中的映射
  2. data:数据,覆盖默认数据集,通常省略,NULL就是默认取ggplot()中的数据集
  3. geom:几何对象,包含很多美学参数,例如颜色等,在这里设置不会成为标度。
  4. stat:统计变换,执行一些统计汇总,默认设置为"identity"时保持不变。这个参数在直方图和平滑曲线图中应用较多。geomstat设置一个即可。
  5. position:位置,调整遮盖情况

5.3 数据

You’ll learn about tidy data in Chap. 9, but for now, all you need to know is that a tidy data frame has variables in the columns and observations in the rows.

ggplot2的作用只是将数据框可视化。在使用之前应该提前整理你的数据框,使其整齐、易于操作(第九章)。

ggplot2的特点在上面的散点图基础上添加一条拟合的曲线:

library(ggplot2)
mpg

mod <- loess(hwy~displ, data = mpg)
grid <- data_frame(displ = seq(min(mpg$displ), max(mpg$displ), length = 50))
grid$hwy <- predict(mod, newdata = grid)
grid

std_resid <- resid(mod) / mod$s
outlier <- filter(mpg, abs(std_resid) > 2)
outlier

ggplot(mpg, aes(displ, hwy)) +
  geom_point() +
  geom_line(data = grid, colour = "blue", size = 1.5) +
  geom_text(data = outlier, aes(label = model))

image

上述数据处理过程,简化之,可以使用函数geom_smooth()

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值