【R语言】散点图+直方图+密度曲线(二)

前面给大家介绍

☞【R绘图】散点图+直方图(密度图)

今天小编给大家介绍第二种方法,绘制散点图,并且在散点图上添加直方图和密度曲线。我们还是使用☞【R绘图】散点图+直方图(密度图)里面使用的数据。这次我们使用的R包叫ggExtra

#安装相应的R包
BiocManager::install("ggExtra")
BiocManager::install("ggplot2")

#加载相关的包
library(ggplot2)
library(ggExtra)

#加载数据
load("data.RData")
#绘图
p <- ggplot(sat.act, aes(SATV, SATQ)) +  #横轴是SATV,纵轴是SATQ
  geom_point(aes(colour=factor(gender))) +  #添加点,按照性别使用不同的颜色
  stat_smooth(method=lm)+             #添加拟合直线
  labs(x = "SATV", y = "SATQ") +    #设置x轴和y轴名称
  theme_bw()+                       #黑白背景
  theme(legend.position="none")     #删除图注
p

我们可以得到下面这张散点图

接下来我们在这张图的基础上本别来添加直方图或者密度曲线

1. 添加密度曲线

#在散点图上添加密度曲线
ggExtra::ggMarginal(p, type = "density",  #指定添加类型
                    xparams=list(fill = "green"),  #指定颜色
                    yparams = list(fill="orange"),  #指定颜色
)

2.添加直方图

#在散点图上添加histogram
ggExtra::ggMarginal(p, type = "histogram",  #指定添加类型
                    xparams=list(fill = "green"),  #指定颜色
                    yparams = list(fill="orange"), #指定颜色
)

3.添加直方图+密度曲线

#在散点图上添加密度曲线+在散点图上添加histogram
ggExtra::ggMarginal(p, type = "densigram",
                    xparams=list(fill = "green"),
                    yparams = list(fill="orange"),
)

4.添加箱型图

#在散点图上添加箱型图
ggExtra::ggMarginal(p, type = "boxplot",
                    xparams=list(fill = "green"),
                    yparams = list(fill="orange")
)

5.添加小提琴图

#在散点图上添加小提琴图
ggExtra::ggMarginal(p, type = "violin",
                    xparams=list(fill = "green"),
                    yparams = list(fill="orange"),
)

6. 根据性别分组添加两组直方图

#根据性别分组添加histogram
ggExtra::ggMarginal(p, type = "histogram",
                    xparams=list(fill = "green"),
                    yparams = list(fill="orange"),
                    groupFill=T   #根据性别进行填充颜色
                    )

7. 根据性别分组添加密度曲线

#根据性别分组添加密度曲线
ggExtra::ggMarginal(p, type = "density",
                    xparams=list(fill = "green"),
                    yparams = list(fill="orange"),
                    groupColour = T,
                    groupFill=T  #根据性别进行填充
)

参考下文获取data.RData

【R语言】散点图+直方图+密度曲线(二)

你可能感兴趣的:(【R语言】散点图+直方图+密度曲线(二))