2019-09-26 DAY-4、5 R语言之ggplot 孤傲的小笼包

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

2019-09-26 DAY-4、5 R语言之ggplot 孤傲的小笼包_第1张图片
image.png

. 调节颜色和大小:

  1. ggplot(data = mpg,aes(x = displ, y = hwy, color = class)) + geom_point()按照七个车型画出不同颜色的点
    2019-09-26 DAY-4、5 R语言之ggplot 孤傲的小笼包_第2张图片
    image.png
  2. ggplot(data = mpg,aes(x = displ, y = hwy, size = class)) + geom_point()按照七种车型画出不同大小的点
    2019-09-26 DAY-4、5 R语言之ggplot 孤傲的小笼包_第3张图片
    image.png

    3.透明度和形状:参数alpha = class和shape = class

二,添加分面

1.依据单个变量分面 facet_wrap()

ggplot(data = mpg,aes(x = displ, y = hwy)) + geom_point() + facet_wrap(~ class, nrow = 2)#分两行展示
注意~分面依据必须是离散型变量。

2019-09-26 DAY-4、5 R语言之ggplot 孤傲的小笼包_第4张图片
class:车型 七个 compact midsize suv 2seater minivan pickup subcompact

2.依据两个变量分面 facet_grid()

ggplot(data = mpg,aes(x = displ, y = hwy)) + geom_point() + facet_grid(drv ~ cyl)

2019-09-26 DAY-4、5 R语言之ggplot 孤傲的小笼包_第5张图片
drv:驱动方式 f r 4;cly:汽缸数 4,5,6,8

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)

2019-09-26 DAY-4、5 R语言之ggplot 孤傲的小笼包_第6张图片
cly:汽缸数 4,5,6,8

三、分组

将一个图形属性映射为一个离散型变量,ggplot2就会自动对数据进行分组来绘制多个几何对象。这种形式是隐式分组,不需要添加图例和区分特征。

如:将线性映射为drv(驱动方式,d,f,4)就会自动变成三条线型不同的线。

将颜色映射为drv,就会自动变成三条颜色不用的线。
2019-09-26 DAY-4、5 R语言之ggplot 孤傲的小笼包_第7张图片
image.png

2019-09-26 DAY-4、5 R语言之ggplot 孤傲的小笼包_第8张图片
将颜色映射为drv

四、同一张图显示多个几何对象--局部映射和全局映射

这里涉及到图层啦。

局部映射-映射只对改图层有效

有多个几何对象时,映射语句要重复多次,又丑又麻烦。
(几何对象也就是图的不同类型,如点图、折线图、直方图等)
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。

你可能感兴趣的:(2019-09-26 DAY-4、5 R语言之ggplot 孤傲的小笼包)