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

2022-09-21 17:29:19 浏览数 (1)

一般展示两个变量之间的相关性,我们经常会用到散点图。前面我也给大家简单介绍过

☞R计算mRNA和lncRNA之间的相关性 散点图

☞R语言绘图:复杂散点图绘制

相信大家在读paper的时候也见到过下面这种类型的图

这张图在传统的相关性散点图的基础上还多了一个直方图,来展示该变量的分布情况。今天我们就来带大家来重现这样的图。

代码语言:javascript复制
#安装psych包
install.packages("psych")
#加载psych包
library(psych)
#使用psych包自带的数据集sat.act
#查看前6行
head(sat.act)

首先我们用默认参数来画图看看效果

代码语言:javascript复制
#绘制SATV和SATQ之间的相关性散点图和直方图
with(sat.act,scatter.hist(SATV,SATQ))

这个是默认参数画出来的图,问题还是比较多的。

1)横纵坐标没有显示变量名字。

2)散点图上有两个椭圆,还有一条平滑曲线

3)没有拟合直线

4)主标题想修改一下

接下俩我们就来通过调节参数来解决这几个问题

代码语言:javascript复制
scatter.hist(sat.act[5:6],
             ab=T,  #增加拟合直线
             ellipse=F,  #删除椭圆
             smooth=F,  #删除平滑曲线
             xlab="SATV",  #行坐标名
             ylab="SATQ",   #纵坐标名
             title="SATQ vs SATV"  #修改主标题
)

接下来我们整点高级的,数据中还包含有性别这一列,我们用不同的颜色来区分两种性别,并展示密度图。

代码语言:javascript复制
scatter.hist(SATV ~ SATQ   gender, #增加性别这个变量
             data=sat.act,
             title="SATQ vs SATV",  #修改主标题
             xlab="SATV", #行坐标名
             ylab="SATQ", #纵坐标名
             ab=T, #增加拟合直线
             correl=F,  #删除右上角的相关系数
             smooth=F,  #删除平滑曲线
             grid=T,   #添加网格线
             ellipse=F   #删除椭圆
             )

今天的分享就先到这里,如果大家觉得有用,别忘了点"在看",分享给更多的小伙伴~

参考资料:

☞R计算mRNA和lncRNA之间的相关性 散点图

☞R语言绘图:复杂散点图绘制

0 人点赞