开始前

005.01 ggplot2 的数据可视化(1) - 图2

主要为ggplot2 中的前三个部分的内容。

ggplot2

005.01 ggplot2 的数据可视化(1) - 图3

可视化使得数据科学从业者更好地分析并解释数据

常用的ggplot 模版

ggplot2 的图形可以按照七种参数来对其进行调整

005.01 ggplot2 的数据可视化(1) - 图4

简单模版

  1. ggplot(data = ) +
  2. <geom_function>(mapping = aex())

ggplot 的学习路径

005.01 ggplot2 的数据可视化(1) - 图5

data 数据

005.01 ggplot2 的数据可视化(1) - 图6

aes 及映射

005.01 ggplot2 的数据可视化(1) - 图7

  1. group #分组
  2. labels #标记

关于aes 相关参数可以直接为这些参数赋值为相关的变量,通过映射的方式,按照函数默认方式为它们赋值。

  1. ggplot(data = test)+
  2. geom_point(mapping = aes(x = Sepal.Length,
  3. y = Petal.Length,
  4. color = Species))

如果想要将以上的参数赋值为手动定义的内容,则需要将其抽出aes 函数内。

  1. ggplot(data = test)+
  2. geom_point(mapping = aes(x = Sepal.Length,
  3. y = Petal.Length),
  4. color = "red")

手动设置与映射

005.01 ggplot2 的数据可视化(1) - 图8

映射要有“领导思维”,直接将变量给对应的参数;手动设置则“精准定位”,该是什么就给参数设定什么。

shape

具体的shape 有25个值。

005.01 ggplot2 的数据可视化(1) - 图9

facet 分面

facetgrid()

005.01 ggplot2 的数据可视化(1) - 图10

  1. ggplot(mpg) +
  2. geom_point(aes(displ,hwy,color=drv)) +
  3. facet_grid(drv ~ cyl)

005.01 ggplot2 的数据可视化(1) - 图11

facet_warp()

facet_grid 对多图形的分面显示不是特别友好,而facet_warp() 则可以设定分面行与列的数目。

对比一下

  1. ggplot(mpg) +
  2. geom_point(aes(displ,hwy,color=drv)) +
  3. facet_grid(class~.)

005.01 ggplot2 的数据可视化(1) - 图12

  1. ggplot(mpg) +
  2. geom_point(aes(displ,hwy,color=drv)) +
  3. facet_wrap(~class, ncol = 3)

005.01 ggplot2 的数据可视化(1) - 图13

warp与grid 的区别

warp 只能对一种变量进行分类(一个维度),因此如果对其使用两个变量,则其会罗列在一个维度。

005.01 ggplot2 的数据可视化(1) - 图14

但其相比grid 的优势在于,它可以自定义输出的分面的行与列数。

易错点

  1. 对于color, shape 等不连续的变量区分参数,不适于映射连续变量。(其一无法体现连续变量的变化趋势,其二这些不连续的参数其数量有限,无法有效区分连续变量)对于连续变量可以选择size, alpha等。

练习题

6-1

  1. #练习6-1
  2. # 示例数据:ggplot2中数据集mpg
  3. # 1.分别以mpg的displ和hwy两列作为横纵坐标,画点图。
  4. ggplot(mpg) +
  5. geom_point(aes(displ,hwy))
  6. # 2.尝试修改颜色或大小,从mpg数据框中任选可以用来分类的列。
  7. ggplot(mpg) +
  8. geom_point(aes(displ,hwy,color=drv))
  9. # 3.根据class列来分面
  10. ggplot(mpg) +
  11. geom_point(aes(displ,hwy,color=drv)) +
  12. facet_grid(class ~ .)
  13. # 4.根据drv和cyl两个变量来分面
  14. ggplot(mpg) +
  15. geom_point(aes(displ,hwy,color=drv)) +
  16. facet_grid(drv ~ cyl)