初次使用R的注意事项:各种符号一定全是英文!!!“+” 放在代码末尾,而不是开头!!!
1.分面
添加额外变量的另外一种方法是分面 (相当于把图按照某一变量分成好几组来看) 这种方法适合分类变量
对一个变量进行分面 facet_wrap(~ [变量],nrow = [想要排列成几行])
如果想通过两个变量进行分面
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)
2.到底想做点图,箱图,线图,还是柱状图???
描绘同样的数据,可以用不同的可视化对象来表示,在ggplot2语法中,称之为不同的几何对象 (eg. 条形图使用了条形几何对象,折线图使用了直线几何对象)。控制所使用几何对象的函数请见下图红框。(不同的几何对象,有不同的图形属性,不同的图形属性可以映射到变量对应的不同的值;一张图中,可以放多个几何对象)
想要全面的了解对象,可以使用R 的cheatsheets([https://www.rstudio.com/resources/cheatsheets/]
3.如何在同一个绘制多个几何变量???
-
分组绘制:只要将一个图形属性映射为一个离散变量,那么ggplot2会自动对该离散变量进行分组来绘制多个几何图像
-
在ggplot()函数中添加多个几何对象函数
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.