ggplot2是一个绘制可视化图形的R包,汲取了R语言基础绘图系统(graphics) 和l attice包的优点,摒弃了相关的缺点,创造出来的一套独立的绘图系统;
ggplot2 有以下几个特点:
1) 图形映射, 自动化的将数据映射到图形上;
2) 图层叠加, 将不同形状的图表视为图层(layer), 可以方便的进行叠加
3)提供了范围控制(scale), 坐标系转换(coord), 分面(facet)等特性;
先看一个最简单的例子,用ggplot2 绘制一副散点图:
代码示例:
library(ggplot2) data <- data.frame(x = 1:3, y = rep(3,3), group = c("A", "B", "C")) ggplot(data, aes(x = x , y = y)) + geom_point()
效果图如下:
首先,我们准备绘图使用的数据, data 是一个数据框对象,有三列,第一列为x , 对应散点图中的 x 轴;第二列为y, 对应散点图中的y轴,第三列为group, 代表每个点的分类信息
在使用ggplot2 绘图时,首先调用 ggplot 这个函数,声明绘图使用的数据,aes 参数指定的是绘图使用的变量,x代表x轴的变量,y代表y轴的变量
然后使用 ‘+’ 添加一个图层,用来展示数据,这里我们选择的图层是散点图 geom_point
通过上面的例子我们可以看到,ggplot2 绘图时使用的是一个数据框对象, 图中的属性对应数据框中的某一列
下面看一个映射的例子,将group 分组信息映射到颜色上
代码示例;
ggplot(data, aes(x = x , y = y, color = group)) + geom_point()
效果图如下:
从图中可以看出,只需要在aes 参数中,添加一个color = group, 就可以将group 信息映射到颜色上,而且ggplot2会自动化的给出对应的图例
2) 接下来看一个图层叠加的例子
代码示例:
ggplot(data, aes(x = x , y = y)) + geom_point() + geom_line()
效果图如下:
从图中我们可以看到,只需要用 ‘+’ 在后面添加对应的图层,就可以方便的在一张图中展示多种类型的图表
时间: 2024-11-05 18:41:08