DAY3 继续学习ggplot

初次使用R的注意事项:各种符号一定全是英文!!!“+” 放在代码末尾,而不是开头!!!
1.分面

添加额外变量的另外一种方法是分面 (相当于把图按照某一变量分成好几组来看) 这种方法适合分类变量
一个变量进行分面 facet_wrap(~ [变量],nrow = [想要排列成几行])

image.png

如果想通过两个变量进行分面

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

(如果不想再某一维度进行分面,可以用“.”代替)

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

image.png

2.到底想做点图,箱图,线图,还是柱状图???

描绘同样的数据,可以用不同的可视化对象来表示,在ggplot2语法中,称之为不同的几何对象 (eg. 条形图使用了条形几何对象,折线图使用了直线几何对象)。控制所使用几何对象的函数请见下图红框。(不同的几何对象,有不同的图形属性,不同的图形属性可以映射到变量对应的不同的值;一张图中,可以放多个几何对象)

image.png

想要全面的了解对象,可以使用R 的cheatsheets([https://www.rstudio.com/resources/cheatsheets/]

3.如何在同一个绘制多个几何变量???
  1. 分组绘制:只要将一个图形属性映射为一个离散变量,那么ggplot2会自动对该离散变量进行分组来绘制多个几何图像
    image.png
image.png
image.png
  1. 在ggplot()函数中添加多个几何对象函数
    image.png
image.png
ggplot()里的内容会作为全局映射应用到每一个集合对象中

eg.
ggplot(data=mpg)+geom_point(mapping=aes(x=displ,y=hwy))+geom_smooth(mapping=aes(x=displ,y=hwy))ggplot(data=mpg,aes(x=displ,y=hwy))+geom_point()+geom_smooth() 完全相同

如果将映射放在几何对象中,仅对该图层有效,会扩展或覆盖全局映射

ggplot(data=mpg,aes(x=displ,y=hwy))+geom_point(mapping=aes(color=class))+geom_smooth() (这个里的color应位放到了几何对象函数中,所以不会对其他图层起作用;即不会对geom_smooth()起作用)

参考资料:
Wickham, H. & Grolemund, G. 2016, R for Data Science, 1st edn, O'Reilly Media, Inc.

你可能感兴趣的:(DAY3 继续学习ggplot)