T
ggplot2是基于R语言下图形语法的一个绘图包,也是目前R语言中最流行最常用的绘图包,真的十分好用
我在这里就抛砖引玉,希望能帮助大家快速了解一下这个包。
1.ggplot基础
在介绍ggplot基础之前,我们需要先安装一下这个包。
install.packages("ggplot2")
library(ggplot2)
1.1 ggplot函数
接下来关于ggplot绘图的主要框架长这样(注意是ggplot函数不是ggplot2函数,一定要区分包和函数的名称):
ggplot(data = <DATA>, mapping = aes(<aesthetic_1> = <variable_1>,
<aesthetic_2> = <variable_2>,...)) +
geom_<TYPE>() +
geom_<TYPE>() +
<Other functions> +
...
可以看到框架里面第一部分就是核心的ggplot函数,其中:
data = <DATA>: 我们所用于绘图的数据
mapping = aes(): aes就是aesthetic的缩写,有审美的意思,也就是说我们在指定了数据之后,想要让数据中的变量如何展现在图中,比如x轴、y轴分别是什么,指定颜色等等。
1.2 geom函数
geom函数是ggplot函数的好兄弟,通过geom函数就可以绘制我们所熟悉的散点图、柱状图、直方图、箱线图等等。主要的geom函数有以下几种:
geom_point(): 散点图
geom_bar(): 柱状图
geom_boxplot(): 箱线图
geom_histogram(): 直方图
geom_smooth(): 平滑线
geom_violin(): 小提琴图等等
1.3 示例
那么可以举一个非常简单的小栗子
library(ggplot2)
ggplot(data = mtcars, mapping = aes(x = wt, y = mpg))
+ geom_point()
画出来的图长这样:
mtcars是R里面自带的一个数据集,其中wt表示weight,y表示miles per gallon; geom_point()表示绘制的是散点图,这样这个图表就可以直观的反映在mtcars数据集中,重量和每加仑汽油能行驶的英里数之间的关系。
接下来我们觉得这个黑色的点有点丑,能不能换个颜色呢,重新调整了一下代码:
ggplot(data = mtcars, mapping = aes(x = wt, y = mpg, color = "blue"))
+ geom_point()
画出来的图长这样:
咦,我刚刚明明想把点换成蓝色,为什么变成红色了!我的代码是哪里写的不对呢?
这里需要注意的是,在ggplot函数中mapping = aes()是指定的一个mapping关系,也就是color这个参数对应了一个叫做"blue"的变量,可以看到图片的右边有一个"blue"的图例,然而实际上并没有这样一个变量,因此R语言中就使得所有点的颜色都是自己的默认颜色(红色)。
那么如果我们想要把所有的点都变成蓝色应该怎么办呢?稍微修改一下上面的代码:
ggplot(data = mtcars, mapping = aes(x = wt, y = mpg))
+ geom_point(color = "blue")
我们其实只是将指定颜色的代码放进了geom()函数当中,其实也是make sense的,因为我们想要让散点图的点变成蓝色,所以应该写在geom()函数中嘛
这样图片上面的点都变成蓝色了,右边的图例也消失了。看起来顺眼了许多。
今天先写到这里,希望能够对大家理解ggplot2包有帮助,之后有时间会再写一些高级的功能