tags: 绘图
R的三大绘图系统
1. 基本绘图系统 (base plotting system)
- 绘图始于空白帆布,需要实现计划,直观地实时反映绘图和分析数据的逻辑。
- 两部 = 图 + 修饰/添加 = 执行一系列函数
2. Lattice 绘图系统 (Lattice Plotting System)
- 使用一次函数调用成图。
- 适用于观测变量间的交互。变量Z的不同水平,变量Y随着变量X 的变化。
ggplot2绘图系统
- 语法绘图
- 把数据映射到集合客体的美学属性(颜色形状大小)
- 基本绘图+lattice绘图,能自动处理标题、说明、空间,但也允许通过添加注释进行修改
基本绘图系统
基本绘图函数包(graphics)
包含了plot/hist/boxplot/points/lines/text/title/axis
调用基本绘图函数后会打开一个绘图设备
每个函数中都有label等参数可以设置
par() 用于设置全局参数,例如bg/mar/las/mfrow(分割面板)/mfcos(分割面板)
举例,用airquality这个数据集进行散点图的绘制
> plot(airquality$Wind) # 需要先使用plot系列函数
> with (subset(airquality,Month = 9), points(Wind, Temp, col = 'red' ))
> with (subset(airquality,Month %in% c(6,7,8) ), points(Wind, Temp, col = 'black' ))
> fit<- lm(Temp~Wind,airquality)
> abline(fit,lwd = 2)
> legend('topright', pch = 1, col = c('black', 'red'), legend = ('mon1','mon2'))
----
# Lattice 绘图系统 (Lattice Plotting System)
- lattice包(基于grid包)。
- - xyplot/ bwplot / histogram / stripplot / dotplot / splom / levelplot / contourplot
- - panel 函数,用于控制每个面板内的绘图
- lattice绘图函数返回trellis类对象,打印函数才真正执行了绘图
例如
xyplot(Temp~Ozone, data = airquality)
airquality$Month <- factor(airquality$Month)
xyplot(Temp~Ozone|Month, data = airquality,layout = c(5,1))
----
# ggplot2 绘图系统
## 层(layer)
data | 感兴趣的变量(data frame)
----|---
Aesthetics | x-axis/y-axis/color/fill/size/labels
geometries几何客体层 | points/line/histograme
## 绘图函数
- qplot(),最基本的绘图
- ggplot() 核心,需要添加各种曾