5.1 简介
ggplot2的图层化架构鼓励我们以一种结构化的方式来设计和构建图形。本章旨在概述可用的几何对象和统计变换,在文中逐个详述。每一节都解决一个特定的作图问题。
5.2 图层叠加的总体策略
图层有三种用途:
- 用以展现数据本身;
- 用以展示数据的统计摘要。进一步理解数据,对模型做出评价;
- 用以添加额外的元数据、上下文信息和注解。展现数据背景或为原始数据赋予现实意义的注解。
5.3 基本图形类型
以下几何对象是ggplot2图形的基本组成部分。每种几何对象自身即可独立构建图形,同时也可以组合起来构建更复杂的几何图形。这些几何对象基本上都关联了一种常见的图形,当谋幅图只使用了一种几何对象构建时,这幅图往往拥有一个特定的名称。
这些几何对象均是二维的,故x和y两种图形属性都是不可或缺的。同时,它们都可以接受colour和size图形属性,另外,填充类几何对象还可以接受fill图形属性。点使用shape接受图形属性,线和路径使用linetype接受图形属性。这些几何对象可用于展示原始数据,另行计算得到的数据摘要和元数据。
- geom_area():用于绘制面积图,即在普通线图的基础上,依y轴方向填充了下方面积的图形。对于分组数据,各组将按照依次堆叠的方式绘制。
- geom_bar(stat = "identity"):绘制条形图。
- geom_line():绘制线条图。图形属性group决定了哪些观测是连接在一起的。
- geom_point():绘制散点图。
- geom_polygon():绘制多边形,即填充后的路径。
- geom_text():可在指定点处添加标签。通过设置hjust和vjust可以控制文本的横纵位置,设置angle可以控制文本的旋转。
- geom_tile():绘制色深图或者水平图。所有的瓦片(tile)构成了对平面的一个规则切分,且往往将fill图形属性映射至另一个变量。
df <- data.frame( x = c(3, 1, 5), y = c(2, 4, 6), label = c("a","b","c") ) p <- ggplot(df, aes(x, y)) + xlab(NULL) + ylab(NULL) p + geom_point() + labs(title = "geom_point") p + geom_bar(stat="identity") + labs(title = "geom_bar(stat=\"identity\")") p + geom_line() + labs(title = "geom_line") p + geom_area() + labs(title = "geom_area") p + geom_path() + labs(title = "geom_path") p + geom_text(aes(label = label)) + labs(title = "geom_text") p + geom_tile() + labs(title = "geom_tile") p + geom_polygon() + labs(title = "geom_polygon")