ggplot2(4) 用图层构建图像

4.1 简介

qplot()的局限性在于它只能使用一个数据集和一组图形属性映射,解决这个问题的办法就是使用图层。每个图层可以有自己的数据集和图形属性映射,附加的数据元素可通过图层添加到图形中。

一个图层由五个部分组成:

  1. 数据:必须是一个数据框;
  2. 一组图形属性映射,用来设定数据集中的变量如何映射到该图层的图形属性;
  3. 几何对象,用来指定在图层中用哪种几何对象来绘图;
  4. 统计变换,返回一个包含新变量的数据框;
  5. 位置调整,通过调整元素位置来避免图形重合。

4.2 创建绘图对象

当我们调用qplot()时,它其实为我们做了很多幕后工作:创建一个图形对象,添加图层并且展示结果。在整个过程中它使用了很多默认的绘图参数。如果想要手动创建图形对象,就用用到ggplot()函数。只有在新添加的图层里设定了新参数时,默认值才会被修改。

4.3 图层

layer(geom, geom_params, stat, stat_params, data, mapping, position)

p <- ggplot(diamonds, aes(x = carat))
p <- p + layer(geom = "bar", geom_params = list(fill = "steelblue"), stat = "bin", 
    stat_params = list(binwidth = 2))
p

该代码生成一个组距为2,铁青色的直方图。

下面的快捷函数生成与上述代码完全相同的图层。

geom_histogram(binwidth = 2, fill = "steelblue")

所有这类快捷函数都由相同的形式——以geom_或者stat_开头:

  • geom_XXX(mapping, data, ..., stat, position)
  • stat_XXX(mapping, data, ..., stat, position)

它们的参数定义了图层的各种组件:

  • mapping:

猜你喜欢

转载自www.cnblogs.com/dingdangsunny/p/12343280.html
今日推荐