ggplot2学习笔记系列之利用ggplot2绘制散点图

taoyan
1 简介
2 绘制简单的散点图
2.1 shape参数修改图形的形状
2.2 size参数修改点的大小
2.3 color参数修改点的颜色
3 绘制分组的散点图
3.1 首先将数值型变量cyl转换为因子型变量
3.2 分组变量赋值给颜色属性(变量赋值必须在aes里面)
3.3 分组变量赋值给性状属性
4 将连续变量映射给颜色、大小和形状等属性
4.1 将连续性变量disp映射给颜色属性
4.2 将连续性变量disp映射给大小属性
5 重叠点的处理
6 为散点图添加拟合曲线

1 简介
散点图通常用来刻画两个连续型变量之间的关系。绘制散点图时数据集中的每一个观测值都由散点图中的一个点来表示。利用包ggplot2可以绘制十分漂亮的散点图。 利用ggplot2绘图前先确保我们所使用的数据集是data.frame形式。ggplot2绘图利用映射将数据赋予给坐标轴上进而添加几何对象形成图形。绘图前先加载包ggplot2library(ggplot2)

#Load packages
library(ggplot2)#visualization

加载完包之后,本文利用数据集mtcars来演示散点图绘制。 先查看数据集的前几行来了解mtcars数据集。

#check data
head(mtcars)

2 绘制简单的散点图

ggplot(data=mtcars, aes(x=wt, y=mpg)) + geom_point()

《ggplot2学习笔记系列之利用ggplot2绘制散点图》

2.1
shape参数修改图形的形状

可选点图形形状:

《ggplot2学习笔记系列之利用ggplot2绘制散点图》

ggplot(data=mtcars, aes(x=wt, y=mpg)) +geom_point(shape=17)

2.2 size参数修改点的大小

ggplot(data = mtcars, aes(x=wt, y=mpg))+geom_point(size=5)

《ggplot2学习笔记系列之利用ggplot2绘制散点图》

2.3 color参数修改点的颜色

ggplot(data=mtcars, aes(x=wt, y=mpg))+geom_point(color="red")

《ggplot2学习笔记系列之利用ggplot2绘制散点图》

3 绘制分组的散点图

可将分组变量(因子或字符变量,可通过
factor()强制性将非因子变量转为因子变量)赋值给颜色或性状属性,实现分组散点图的绘制。

3.1 首先将数值型变量
cyl转换为因子型变量

mtcars$cyl <- factor(mtcars$cyl)

3.2 分组变量赋值给颜色属性(变量赋值必须在aes里面)

ggplot(data=mtcars, aes(x=wt, y=mpg, color=cyl))+geom_point(size=3)

《ggplot2学习笔记系列之利用ggplot2绘制散点图》

3.3 分组变量赋值给性状属性

ggplot(data=mtcars, aes(x=wt, y=mpg, shape=cyl))+geom_point(size=3)

《ggplot2学习笔记系列之利用ggplot2绘制散点图》

如果对R语言默认的颜色或者形状不满意,可以通过
scale_color_brewer()或者
scale_color_manual()函数自定义点的颜色以及
scale_shape_manual()函数自定义点的形状。 下面我们将分组变量
cyl同时赋值给颜色和形状属性。

ggplot(data=mtcars, aes(x=wt, y=mpg, color=cyl, shape= cyl))+
geom_point(size=3)+ scale_color_brewer(palette = "Accent")+
scale_shape_manual(values = c(2, 9, 16))#Accent是一调色板,可选点的形状见上

《ggplot2学习笔记系列之利用ggplot2绘制散点图》

4 将连续变量映射给颜色、大小和形状等属性
4.1 将连续性变量disp映射给颜色属性

ggplot(data=mtcars, aes(x=wt, y=mpg, color=disp))+geom_point(size=3)

从图中可以发现值越大对应的颜色越浅,以下是通过人为设置色阶使值大小与颜色深浅保持一致

ggplot(data=mtcars, aes(x=wt, y=mpg, color=disp))+
geom_point(size=3)+ scale_color_gradient(low="lightblue", high="darkblue")

《ggplot2学习笔记系列之利用ggplot2绘制散点图》

4.2 将连续性变量disp映射给大小属性

ggplot(data=mtcars, aes(x=wt, y=mpg, size=disp))+geom_point(color="red")

《ggplot2学习笔记系列之利用ggplot2绘制散点图》

5 重叠点的处理

当数据量非常大时,会导致数据重叠点非常严重,可通过使用半透明的点避免。
alpha参数控制点的透明度。下面利用数据集
diamonds来演示。

#check data
head(diamonds)
#未使用透明点处理
ggplot(data=diamonds, aes(x=carat, y=price))+geom_point()

《ggplot2学习笔记系列之利用ggplot2绘制散点图》

#使用alpha参数调整点透明度
ggplot(data=diamonds, aes(x=carat, y=price))+geom_point(alpha=0.1)

《ggplot2学习笔记系列之利用ggplot2绘制散点图》

6 为散点图添加拟合曲线

#使用数据集mtcars
ggplot(data=mtcars, aes(x=wt, y=mpg))+geom_point()+stat_smooth(method="lm")

《ggplot2学习笔记系列之利用ggplot2绘制散点图》

#也可以去除掉拟合曲线的置信区间
ggplot(data=mtcars, aes(x=wt, y=mpg))+geom_point()+stat_smooth(method="lm", se=FALSE)

《ggplot2学习笔记系列之利用ggplot2绘制散点图》

#也可以针对不同类型的cyl来进行拟合
ggplot(data=mtcars, aes(x=wt, y=mpg, color=cyl))+
geom_point()+stat_smooth(method="lm")

《ggplot2学习笔记系列之利用ggplot2绘制散点图》

    原文作者:taoyan
    原文地址: https://www.jianshu.com/p/006784394182
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞