mpg数据集的内容
1.manufacturer:生产商 15个
2.model:型号 38个
3.displ:引擎排量-L 35个,单位为升,小数
4.year:出厂年份
5.cly:汽缸数 4,5,6,8
6.trans:变速方式:10个
7.drv:驱动方式 f r 4
8.cty :每加仑汽油能跑的公里数(城市)21个,整数
9.hwy:燃油效率:每加仑汽油能跑的公里数(高速路)单位英里/加仑,燃油效率高说明省油。 27个,整数。
10.fl:燃油类型,五个 p r e d c
11.class:车型 七个 compact midsize suv 2seater minivan pickup subcompact
一,基础作图:在ggplot2中,图是采用串联起来( +)号函数创建的。每个函数修改属于自己的部分。
如:ggplot(data = mpg,aes(x = displ, y = hwy)) + geom_point()
. 调节颜色和大小:
-
ggplot(data = mpg,aes(x = displ, y = hwy, color = class)) + geom_point()
按照七个车型画出不同颜色的点 -
ggplot(data = mpg,aes(x = displ, y = hwy, size = class)) + geom_point()
按照七种车型画出不同大小的点
3.透明度和形状:参数alpha = class和shape = class
二,添加分面
1.依据单个变量分面 facet_wrap()
ggplot(data = mpg,aes(x = displ, y = hwy)) + geom_point() + facet_wrap(~ class, nrow = 2)
#分两行展示
注意~分面依据必须是离散型变量。
2.依据两个变量分面 facet_grid()
ggplot(data = mpg,aes(x = displ, y = hwy)) + geom_point() + facet_grid(drv ~ cyl)
3.不想在行或列维度中分面,用.代替变量名
ggplot(data = mpg, aes(x = displ, y = hwy)) + geom_point() + facet_grid(. ~ cyl)
就等于ggplot(data = mpg, aes(x = displ, y = hwy)) + geom_point() + facet_wrap( ~ cyl,nrow = 1)
三、分组
将一个图形属性映射为一个离散型变量,ggplot2就会自动对数据进行分组来绘制多个几何对象。这种形式是隐式分组,不需要添加图例和区分特征。
如:将线性映射为drv(驱动方式,d,f,4)就会自动变成三条线型不同的线。
四、同一张图显示多个几何对象--局部映射和全局映射
这里涉及到图层啦。
局部映射-映射只对改图层有效
有多个几何对象时,映射语句要重复多次,又丑又麻烦。
(几何对象也就是图的不同类型,如点图、折线图、直方图等)
ggplot(data = mpg) + geom_point(mapping = aes(x = displ, y = hwy)) + geom_smooth(mapping = aes(x = displ, y = hwy))
全局映射--对所有图层生效
ggplot(data = mpg, mapping = aes(x = displ, y = hwy)) + geom_point() + geom_smooth()
局部映射与全局映射冲突时,服从局部映射。
例如:
library(dplyr)
#filter函数出自dplyr包
ggplot(data = mpg, mapping = aes(x = displ, y = hwy)) + geom_point(mapping = aes(color = class)) + geom_smooth(data = filter(mpg, class == "subcompact"), se = FALSE)
#se是standard error的缩写,se参数为拟合曲线添加标准误差带,也就是那个灰不啦叽的灰色背景带,默认是TRUE。