今天小编来分享一下R语言绘制散点图的代码~
1.小编使用的是R自带的数据集,先调用出数据集;
#调用R自带数据集
library(gcookbook)
head(heightweight)
image.png
2.绘制离散型变量的散点图;
##映射离散型型变量
##基于颜色和点形对数据进行分组可指定colour或者shape两种参数,分别将不同分组以不同颜色/点形表述
# 基函数:colour设置分组
library(ggplot2)
ggplot(heightweight, aes(x = ageYear, y = heightIn, colour = sex)) +
# 散点图函数
geom_point()
image.png
# 基函数:shape设置分组
ggplot(heightweight, aes(x = ageYear, y = heightIn, shape = sex)) +
# 散点图函数
geom_point()
##########################################
image.png
3.如果需要映射除横纵轴以外的连续性变量,可以映射到散点图的色深和点大小上;
##映射连续型变量
# 上一个示例中,映射到分组的变量是离散型变量。而对于除了横轴纵轴之外的连续型变量,也可以映射到散点图的色深和点大小上
# 基函数:colour绑定连续变量
ggplot(heightweight, aes(x = ageYear, y = heightIn, colour = weightLb)) +
# 散点图函数
geom_point()
image.png
# 基函数:size绑定连续变量
ggplot(heightweight, aes(x = ageYear, y = heightIn, size = weightLb)) +
# 散点图函数
geom_point()
image.png
4.处理散点重叠问题,调用size、colour分别绑定连续变量;
##处理散点重叠
# 基函数:size、colour分别绑定连续变量
ggplot(heightweight, aes(x = ageYear, y = heightIn, size = weightLb, colour = sex)) +
# 散点图函数:alpha设置散点透明度
geom_point(alpha = .5) +
# 使散点的面积正比与变量值
scale_size_area() +
# 标尺函数:palette设置配色方案
scale_colour_brewer(palette = "Set1")
image.png
5.添加回归模型拟合线(此处绘制的是局部线性回归模型);
##添加回归模型拟合线
# 基函数:sex绑定离散变量
ggplot(heightweight, aes(x = ageYear, y = heightIn, colour = sex)) +
# 散点图
geom_point() +
# 标尺函数:palette设置配色方案
scale_colour_brewer(palette = "Set1") +
# 拟合回归线段以及置信域(默认0.95/通过level参数可自定义)
geom_smooth()
image.png
6.若想拟合经典线性回归模型,可往geom_smooth()函数中加入"method = lm";
#线段为曲线是因为参与拟合模型为局部线性回归模型。往geom_smooth()函数中加入"method = lm"即可拟合经典线性回归。结果如下图:
ggplot(heightweight, aes(x = ageYear, y = heightIn, colour = sex)) +
# 散点图
geom_point() +
# 标尺函数:palette设置配色方案
scale_colour_brewer(palette = "Set1") +
# 拟合回归线段以及置信域(默认0.95/通过level参数可自定义)
geom_smooth(method = lm)
image.png
7.添加边际地毯;
##向散点图添加边际地毯
# 基函数
library(gcookbook)
head(faithful)
ggplot(faithful, aes(x = eruptions, y = waiting)) +
# 散点图函数
geom_point() +
# 边际地毯函数
geom_rug()
image.png
image.png
8.添加标签(小编这里随意添加了一个标签,仅作展示用);
##向散点图添加标签
# 基函数
library(gcookbook)
head(heightweight)
ggplot(heightweight, aes(x = ageYear, y = heightIn)) +
# 散点图函数
geom_point() +
# 文本函数:aes参数中:y将原有纵轴值向上偏移,label设置绑定文本
# 将y轴偏移的目的是为了让文本展示在样本点上方而不是中间
geom_text(aes(y = heightIn + .2, label = sex))
image.png