R语言绘图学习
绘图模板:
ggplot(data = data)+
<XX>(mapping = aes())
通过更改<XX>的不同函数,则可以作出不同类型的图。
函数名 | 图像 |
geom_abline() | 线图 |
geom_area() | 面积图 |
geom_bar() | 条形图 |
geom_bar2() | 二维条形图 |
geom_bin2d() | 二维封箱的热力图 |
geom_boxplot() | 箱线图 |
geom_contour() | 等高线图 |
geom_errorbar() | 误差线 |
geom_errorbar_h() | 水平误差线 |
geom_hex() | 六边形封箱热力图 |
geom_histogram() | 直方图 |
geom_jitter() | 添加了扰动的点图 |
geom_polygon() | 多边形 |
geom_qq() | q-q图 |
geom_rect() | 绘制矩形 |
geom_step() | 阶梯图 |
geom_text() | 添加文本 |
geom_tile() | 绘制瓦片图 |
下面以绘制散点图为案例。
library(tidyverse)
data<-mpg
####mpg是ggplot2里面自带的数据集,美国环保局制作的燃油经济性数据。
##manufacturer,表示汽车制造商名称
##model,表示汽车型号
##displ,汽车引擎排放量,单位:升
##year,年份
##cyl,发动机数量
##trans,变速器形式
##drv,驱动形式:f表示前轮驱动系统;r表示后轮驱动;4表示四轮驱动系统。
##cty,每加仑城市行驶距离
##hwy,每加仑公路行驶距离
##fl,燃料类型
##class,车辆类型
data
##选择displ作为X轴,hwy为Y轴绘制散点图
ggplot(data = data)+##选择绘制的数据集
geom_point(mapping = aes(x = displ,y = hwy))##geom_point(),绘制散点图
##color更改点的颜色
ggplot(data = data)+
geom_point(mapping = aes(x = displ,y = hwy,color = class))##color = class,以class为类别,绘制不同颜色的点
##size更改点的大小
ggplot(data = data)+
geom_point(mapping = aes(x = displ,y = hwy,size = class))##size = class,以class为类别,绘制不同大小的点
##Using size for a discrete variable is not advised.
##这里会出现报错,因为class为因子型变量,本身不是数值,将其映射为不同大小的点不合适。
##alpha更改点的透明度
ggplot(data = data)+
geom_point(mapping = aes(x = displ,y = hwy,alpha = class))##alpha = class,以class为类别,绘制不同透明度的点
##shape更改点的形状
ggplot(data = data)+
geom_point(mapping = aes(x = displ,y = hwy,shape = class))##shape = class,以class为类别,绘制不同形状的点
##对于ggplot2,最多只能同时使用6种形状,多出变量suv则无法显示。
##修改整体点的颜色
ggplot(data = data)+
geom_point(mapping = aes(x = displ,y = hwy),color = "blue")##注意color的位置,不在aes()内
##在aes()外设置不会表达变量的信息
去除图和图例的灰底
去除灰底前
运行下列代码去除灰底
##去除图例中的灰底,添加theme(legend.key = element_blank())语句
ggplot(data = data)+
geom_point(mapping = aes(x = displ,y = hwy,color = class))+
theme(legend.key = element_blank())##去除图例的灰底
##若想去除图中的灰底,需要加载cowplot包
library(cowplot)
##去除图背景中的灰底,添加theme_cowplot()语句
ggplot(data = data)+
geom_point(mapping = aes(x = displ,y = hwy,color = class))+
theme(legend.key = element_blank())+
theme_cowplot() ##去除图背景的灰底
去除灰底后