简介
在本章中学会如何使用ggplot2主题(theme)系统,主题系统允许对于图像中的非数据元素进行精细的调整。它不会影响几何对象和标度等数据元素。主题不能改变图像的感官性质,但它可以使图像变得更具美观,满足整体一致性的要求。主题的控制包括字体、轴须标签(tick)、面板的条状区域(strip)、背景等
lattice和基础图形系统没有采用数据和非数据控制分离的方法,大部分函数都设定了许多参数来调整数据和非数据的外观,这很容易导致函数的复杂化,使得图像的学习变得更为困难。ggplot2则采用了不同的策略:绘图时,首先确定数据如何展示,之后再用主题系统对细节进行渲染
主题系统由四个主要部分组成
- 主题元素(element)制定了能控制的非数据元素。比如说,plot.title元素控制了图像标题的外观;axis.ticks.x指的是x轴上的标签;legend.key.height则是图例符号的高度
- 每一个元素都和一个元素函数(element function)绑定,元素函数表述了元素的视觉属性。比如,element_text()设定了字体大小、颜色,还有像plot.title()等文字元素的外观
- theme()函数允许通过运行元素函数来覆盖默认的主题函数,比如说theme(plot.title = element_text(color = “red”))
- 像theme_grey()那样的完整的主题。主题把所有的主题元素的值设置得和谐共存
比如,假设对数据创建了以下图像
base <- ggplot(mpg, aes(cty, hwy, color = factor(cyl))) +
geom_jitter() +
geom_abline(color = "grey50", size = 2)
base

它达到了想要的效果:得知了cty和hwy高度相关,它们两者都和cyl有着强联系,而且hwy总是比cty要大(此外cty增大的话两者差值也会增大)
如果想要将图像作为论文发表,需要稍微修改一下它
- 改善坐标轴和图例标签的效果
- 为图像添加标题
- 微调颜色比例
labelled <- base +
labs(x = "City mileage/gallon", y = "Highway mileage/gallon"

本文介绍ggplot2中的主题系统,详细讲解如何通过该系统美化图表,并演示多种内置主题的效果,帮助读者掌握定制化的图表制作技巧。

1354

被折叠的 条评论
为什么被折叠?



