一 ggplot2 背景介绍
ggplot2是由Hadley Wickham创建的一个十分强大的可视化R包。按照ggplot2的绘图理念,Plot(图)= data(数据集)+ Aesthetics(美学映射)+ Geometry(几何对象)。本文将从ggplot2的八大基本要素逐步介绍这个强大的R可视化包。
-
数据(Data)和映射(Mapping)
-
几何对象(Geometric)
-
标尺(Scale)
-
统计变换(Statistics)
-
坐标系统(Coordinante)
-
图层(Layer)
-
分面(Facet)
-
主题(Theme)
二 数据(data) 和 映射(Mapping)
数据:用于绘制图形的数据,本文主要使用经典的mtcars数据集和diamonds数据集子集为例来画图。
#install.packages("ggplot2")
library(ggplot2)
data(diamonds)
set.seed(1234)
diamond <- diamonds[sample(nrow(diamonds), 2000), ]
head(diamond)
# A tibble: 6 x 10
carat cut color clarity depth table price x y z
<dbl> <ord> <ord> <ord> <dbl> <dbl> <int> <dbl> <dbl> <dbl>
1 0.91 Ideal G SI2 61.6 56 3985 6.24 6.22 3.84
2 0.43 Premium D SI1 60.1 58 830 4.89 4.93 2.95
3 0.32 Ideal D VS2 61.5 55 808 4.43 4.45 2.73
4 0.33 Ideal G SI2 61.7 55 463 4.46 4.48 2.76
5 0.7 Good H SI1 64.2 58 1771 5.59 5.62 3.6
6 0.33 Ideal G VVS1 61.8 55 868 4.42 4.45 2.74
映射:aes()函数是ggplot2中的映射函数, 所谓的映射即为数据集中的数据关联到相应的图形属性过程中一种对应关系, 图形的颜色,形状,分组等都可以通过通过数据集中的变量映射。
#使用diamonds的数据子集作为绘图数据,克拉(carat)数为X轴变量,价格(price)为Y轴变量。