R语言ggplot2 简介

时间:2023-03-08 20:49:34
R语言ggplot2 简介

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()

效果图如下:

R语言ggplot2 简介

首先,我们准备绘图使用的数据, 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()

效果图如下:

R语言ggplot2 简介

从图中可以看出,只需要在aes 参数中,添加一个color = group, 就可以将group 信息映射到颜色上,而且ggplot2会自动化的给出对应的图例

2) 接下来看一个图层叠加的例子

代码示例:

ggplot(data, aes(x = x , y = y)) + geom_point() + geom_line()

效果图如下:

R语言ggplot2 简介

从图中我们可以看到,只需要用 ‘+’ 在后面添加对应的图层,就可以方便的在一张图中展示多种类型的图表