准备:打开R,加载ggplot2 library(ggplot2)
所用数据:ggplot2中自带数据mpg,这里用mpg完成下面内容(直接用就行,不需要下载)。使用数据之前先观察数据,可以用View("所使用的数据名")
或者summary("所使用的数据名")
来对数据有大概的了解。
ggplot的使用模板:
ggplot(data= <data>)+<geom_function>(mapping =aes (<mapping>))
(数据集+图层)
eg. ggplot(data= mpg)+geom_point(mapping= aes(x=displ,y=hwy)
-
首先给出所用数据集,
ggplot(data= mpg)
(mpg替换成实际所用数据集名称,不知道数据集叫什么可看RStudio右上角环境变量,里面有写变量名称) -
添加图层 将数据的值映射为图形
geom_point(mapping= aes(x=displ,y=hwy)
geom_point为点层,另有其他多种图层的代码。
mapping:ggplot2每一个几何对象函数都有一个mapping参数,其定义了如何把数据映射为图形。mapping总是要和aes成对出现,aes里要定义如何把数据关系对应到几何图形关系上
注意:如果只输入ggplot(data= mpg)
,而不输入图层代码,则只会显示空白 (RStudio右下角plot位置显示生成的图)
如何将数据映射为图形
- 由于ggplot是二维图,所以可以通过x轴y轴把两组变量映射到图上
ggplot(data= mpg)+geom_point(mapping= aes(x=displ,y=hwy))
- 如何在二维图中添加第三个变量?
方法是将第三个变量映射为图形属性(可视化),包括 大小,形状,颜色,在此过程中会自动添加图例。
如果将图形属性映射为变量,则需在aes里写图形属性=变量名称
,eg. color=class
(这里 color=class 则是把变量映射为颜色)
ggplot(data= mpg)+geom_point(mapping= aes(x=displ,y=hwy,color=class))
常用的图形属性:color,size, alpha (透明度),shape (x轴和y轴位置本身也是图形属性)
注意:映射的时候要注意变量是有序还是无序的,所映射的图形属性是有序还是无序的。把无序映射成有序会受到警告 (warning)。使用shape时注意ggplot2只能同时使用6种形状,多出的变量将不会显示在图中。
- 映射图形形状时,可以添加条件
ggplot(data=mpg)+geom_point(mapping=aes(x=displ,y=hwy,color=displ<5))
如何手动设置图形形状?
如果不希望图形形状传达变量信息,只是想把图形形状设置为自己想要的格式,需要在函数aes()外部进行设置(即将其对位几何对象的一个参数)
正确写法
错误写法
如何设置图形形状?
颜色名称(字符串)
点通过大小来表示,单位毫米
点的形状是一个数值(分空心形状,实心形状,填充形状)
参考资料:
Wickham, H. & Grolemund, G. 2016, R for Data Science, 1st edn, O'Reilly Media, Inc.