写在最前面:当做我什么也不懂,重新开始。
ggplot2是由Hadley Wickham创建的一个十分强大的可视化R包。按照ggplot2的绘图理念,Plot(图)= data(数据集)+ Aesthetics(美学映射)+ Geometry(几何对象)
在ggplot2中有两个主要绘图函数:qplot()以及ggplot()。
qplot(): 即快速绘图;
ggplot():可以绘制十分复杂的图形。
但是要想随心所欲的绘图,还是学习基础绘图方法,今后再说
#ggplot2的安装
三种任选其一,但是主推第一种后续简便。
library(tidyverse)
1.mpg数据框
数据框是变量(列)和观测(行)的矩阵集合,mpg包含了美国国家环境保护协会收集的38种车型的数据
>ggplot::mpg
我们可以看到包括如下变量:
model
model name
displ
engine displacement, in litres
year
year of manufacture
cyl
number of cylinders
trans
type of transmission
drv
f = front-wheel drive, r = rear wheel drive, 4 = 4wd
cty
city miles per gallon
hwy
highway miles per gallon
fl
fuel type
class
"type" of car
好了,下面我们就可以探讨各个变量之间的关系了。
我们可以首先探讨引擎大小和耗油量之间的关系:
>ggplot(data = mpg) +
geom_point(mapping = aes(x = displ,y = hwy))
其实根据趋势我们发现:燃油量和引擎大小成负相关的趋势。
解析代码:
ggplot:开始绘图,创建了坐标系
data = mpg:标明了使用的数据集
mapping:ggplot2每个几何对象都有一个mapping参数,这个参数将数据集的变量映射为图形属性
aes(x,y):x,y的参数分别指定了映射到x轴,y轴的变量
由此我们可以得到一个绘图模板:
ggplot(data = ) +
(mapping =aes())
#加颜色
>ggplot(data = mpg) +
geom_point(mapping = aes(x = displ,y = hwy),color = "blue")
颜色是字符串类型
#分面
>ggplot(data = mpg) +
geom_point(mapping = aes(x = displ,y = hwy)) +
facet_wrap(~class,nrow = 2)
>ggplot(data = mpg) +
geom_point(mapping = aes(x = displ,y = hwy)) +
facet_grid(drv ~ cyl)
facet_wrap:单个变量分面,变量前加上~
facet_grid:两个变量分面,变量间用~隔开
#几何对象
几何对象是图中用来表示数据的几何图形对象
条形图:条形几何对象
折线图:直线几何对象
箱线图:矩形和直线几何对象
散点图:点几何对象
使用平滑曲线拟合数据:
>ggplot(data = mpg) +
geom_smooth(mapping = aes(x = hwy,y=cyl))
ggplot2中每个几何参数都有一个mapping的参数,但是不是每种图形属性适合每种几何对象。可以设置点的形状,但不能设置线的形状,而可以设置线的类型。
>ggplot(data = mpg) +
geom_smooth(mapping = aes(x = hwy,y=cyl,linetype = drv,color = drv))
依据drv变量设置线的类型,同时附上颜色
看来四轮驱动车子中,引擎大小和耗油量的相关性非常显著!