1. ggplot2基本要素
-
数据和映射:把数和图分开,图形元素是数据在平面或者空间的映射,可以层层叠加。
-
几何对象:指定用于反映数据的图形形状或几何图形,geom_point()、geom_line()
geom.png
-
美学映射aes(): vignette("ggplot2-specs"), help(aes())
-
标尺(Scales):ggplot2通常会自动为绘图生成适当的标尺,一般参数name, breaks, labels, limits
Scale.png
-
统计变换:一般数据是直接映射到图形上的,比如x,y两个数据即可在平面坐标轴上做出点图。但当存在第三个数据z时,我们可以通过scale - stat - aesthetic - geom将数据转换为点大小,也就是统计变换,此时标尺(Scales)显示数据值是怎么映射到美学值的。
transmission.png
-
坐标系统
-
图层
-
分面:分面意味着将数据分为几个子集,并在单个页面上为每个子集生成一个单独的图。
-
主题
-
注解
2. ggplot() 函数
ggplot函数是一切绘图的起点,可以看作是一个初始化动作。如果数据集写在ggplot()内部(ggplot(data = data)),那么该数据在后面图层叠加中可以一直被继承,而不需要重新注明,否则每一个几何映射都需要注明data是什么。
如果数据写在几何对象等映射中,除非特别声明继承情况,则该数据集只会在该映射对象中被调用,如geom_point(data= data)中的data数据集只会在该散点的图图层下被默认调用和映射。
3. 美学映射aes()
详情可以通过运行:vignette("ggplot2-specs")和help(aes())参看。

如果对应的视觉属性要和数据有对应关系,需要将参数写到aes()里面,如geom_point(aes(x = x, y = y, color = color));如果不需要有映射关系,将其写到aes()外面即可,如geom_point(aes(x = x, y = y), color = "red")。

aes_string(): aes()的另一种形式,它可以将字符变量映射为ggplot2所需的输入参数(它自己能解析带引号的变量名),在批量出图和一些字符向量的变量名时非常实用。
4. 参考资料(推荐材料)
- Fundamentals of Data Visualization: A Primer on Making Informative and Compelling Figures 1st Edition - by Claus O. Wilke
- Advanced R programming - by Hadley Wickham
- ggplot2 Elegant Graphics for Data Analysis - by Hadley Wickham
- ggplot2 Elegant Graphics for Data Analysis 2nd Edition - by Hadley Wickham
- R Graphics Cookbook - by Winston Chang
网友评论