ggplot2的图形语法(待续)

安装包

ggplot2的核心理念是将绘图与数据分离,数据相关的绘图与数据无关的绘图分离。按图层作图,图层(layer)之间是通过“+”来粘合构图的。想使用ggplot之前,需要先安装相应的包:(镜像选择china:beijing)

1
2
install.packages("ggplot2") # 在R中安装ggplot2包
library(ggplot2) # 载入ggplot2包

图形部件

数据(data)

在ggplot2中, 所接受的数据集必须为数据框data.frame格式,这种格式带来的好处是数据易于存储, 也能在保留原有的绘图参数下, 用%+%方便地变更已有数据集。
用mtcars.c替换mtcars

1
2
mtcars.c <- transform(mtcars, mpg = mpg^2)
p %+% mtcars.c

而ggplot2进行数据分组时必须根据行, 而不能根据列,变量不在是放在各个列上, 而是拍成一列, 每一个变量都分别占其中的几行, 这样就能方便的对每个变量进行分组。reshape2中的函数可以融合(melt)和重铸(cast)数据框中的数据。

1
2
install.packages("reshape2") #在R中安装reshape2包
library(reshape2) #载入reshape2包

映射(mapping)

映射是将一个变量中离散或连续的数据与一个图形属性中以不同的参数来相互关联, 而设定能够将这个变量中所有的数据统一为一个图形属性。

aes()函数是ggplot2中的映射函数

1
2
p<- ggplot(data= mtcars, mapping= aes(x= wt, y= hp))
p+ geom_point(color= “blue”) #设定散点的颜色为蓝色

分组(group)也是ggplot2种映射关系的一种

1
p <-ggplot(data=mtcars, mapping=aes(x=wt, y=hp, group=factor(gear)))+geom_line()

图层(layer)

ggplot2中的图层:每个图层可以代表一个图形组件, 例如下面要介绍的几何对象、统计变换等图形组件, 这些组件以图层的方式叠加在一起构成一个绘图的整体,在每个图层中的图形组件又可以分别设定数据、映射或其他相关参数, 因此组件之间又是具有相对独立性的。

几何对象(geom)

统计变换(stat)

统计变换即对数据进行统计变化, 通常以某种方式对数据信息进行汇总, 例如通过stat_smooth()添加光滑曲线。

标度(scale)

标度控制着数据到图形属性的映射, 更重要的一点是标度将我们的数据转化为视觉上可以感知的东西, 如大小、颜色、位置和形状。所以通过标度可以修改坐标轴和图例的参数。

坐标系(coord)

分面(facet)

主题(theme)

主题系统控制着图形中的非数据元素外观, 它不会影响几何对象和标度等数据元素。主题修改是一个对绘图精雕细琢的过程, 主要对标题、坐标轴标签、图例标签等文字调整, 以及网格线、背景、轴须的颜色搭配。

存储和输出(ggsave)

ggplot2支持eps矢量图输出, 其他可以支持的格式包括png, jpg, pdf等, 并通过ggsave可以方便的进行修改。

吃不起茶叶蛋了,求支持~
Fork me on GitHub