前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【R语言】散点图+直方图+密度曲线(二)

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

作者头像
生信交流平台
发布2022-09-21 17:44:49
1.2K0
发布2022-09-21 17:44:49
举报

前面给大家介绍

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

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

代码语言:javascript
复制
#安装相应的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. 添加密度曲线

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

2.添加直方图

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

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

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

4.添加箱型图

代码语言:javascript
复制
#在散点图上添加箱型图
ggExtra::ggMarginal(p, type = "boxplot",
                    xparams=list(fill = "green"),
                    yparams = list(fill="orange")
)

5.添加小提琴图

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

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

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

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

代码语言:javascript
复制
#根据性别分组添加密度曲线
ggExtra::ggMarginal(p, type = "density",
                    xparams=list(fill = "green"),
                    yparams = list(fill="orange"),
                    groupColour = T,
                    groupFill=T  #根据性别进行填充
)
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-09-07,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 生信交流平台 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档