专栏首页生信补给站R|散点图+边际图(柱形图,小提琴图),颜值区UP

R|散点图+边际图(柱形图,小提琴图),颜值区UP

散点图作为一种展示2组连续变量关系的常用可视化方式之一,添加点,线,箭头,线段,注释,甚至函数,公式,方差表都没有问题。

ggplot2-annotation|画图点“精”,让图自己“解释”

R-ggpmisc|回归曲线添加回归方程,R2,方差表,香不香?

本文简单的介绍2种散点图添加边际图的方法。

一 载入数据,R包

使用经典数据集iris

library(ggplot2) #加载ggplot2包
library(ggExtra)
library(ggstatsplot)
data(iris)
head(iris)

二 ggplot2 + ggExtra绘制边际散点图

使用ggplot2绘制散点图,然后利用ggExtra包的函数添加边际柱形图

2.1 绘制基础散点图
p1 <- ggplot(iris, aes(Sepal.Length, Sepal.Width)) + 
  geom_point(color = "#00AFBB")
p1
2.2 添加一点点细节

1)添加横轴,数轴线;

2)添加R2 和 P值

3)添加回归曲线

p2 <- ggplot(iris, aes(Sepal.Length, Sepal.Width)) + 
  geom_point(color = "#00AFBB") + 
  geom_smooth(method="lm", se=T) + 
  geom_hline(yintercept = 3, linetype = "dashed", color = "blue") +
  geom_vline(xintercept = 6, linetype = "dashed", color = "red") +
  annotate("text", x=4.5, y=4.25, parse=TRUE,
           label="r^2 == 0.0138 * '  p-value = 0.1529' ")p2

既然是ggplot2绘制的,那更多细节还不是按照需求直接加就行嘛

2.3 添加边际条形图

使用ggMarginal添加, Type 可选参数 histogram, density 和 boxplot.

ggMarginal(p2, type = "histogram", fill = "#00AFBB")

三 ggstatsplot绘制边际散点图

直接使用ggstatsplot包的ggscatterstats函数绘制

library(ggstatsplot)ggscatterstats(  data = iris,                                          
  x = Sepal.Length,                                                  
  y = Sepal.Width,
  xlab = "Sepal Length",
  ylab = "Sepal Width",
  marginal = TRUE,
  marginal.type = "densigram",
  margins = "both",
  xfill = "blue", # 分别设置颜色
  yfill = "#009E73",
  title = "Relationship between Sepal Length and Sepal Width",
  messages = FALSE
)

其中marginal.type可选 histograms,boxplots,density,violin,densigram (density + histogram);可自行尝试效果。

OK,文献中常见的带边际图的散点图就绘制好了!更多参数设置详见参考资料。

参考资料:

https://www.r-graph-gallery.com/277-marginal-histogram-for-ggplot2

https://indrajeetpatil.github.io/ggstatsplot/

PS:有个交流的讨论组,想沟通交流的,后台回复”入群“。

◆ ◆ ◆ ◆ ◆

本文分享自微信公众号 - 生信补给站(Bioinfo_R_Python),作者:生信补给站

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2021-03-29

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 精心整理(含图PLUS版)|R语言生信分析,可视化

    为了能更方便的查看,检索,对文章进行了精心的整理(PLUS)。建议收藏,各取所需,当前没用也许以后就用到了呢!

    西游东行
  • R语言学习 - 箱线图(小提琴图、抖动图、区域散点图)

    箱线图 箱线图是能同时反映数据统计量和整体分布,又很漂亮的展示图。在2014年的Nature Method上有2篇Correspondence论述了使用箱线图的...

    生信宝典
  • 数据清洗 Chapter03 | Seaborn常用图形

    不温卜火
  • 一文爱上可视化神器Plotly_express

    一文爱上可视化神器plotly_express目前使用和见识过最棒的可视化库。必须爱上它❤️

    皮大大
  • plotly-express-1-入门介绍

    Python的一个高级可视化库plotly_express是目前使用和见识过最棒的可视化库,通过这篇文章来入门这个可视化神器。

    皮大大
  • 数据可视化详解+代码演练

    磐创AI
  • plotly-express-25-36张图爱上plotly_express

    Plotly_Express是新一代的高级可视化神器,它是plotly.py的高级封装,内置了大量实用、现代的绘图模板。

    皮大大
  • 数据可视化基本套路总结

    真依然很拉风,简书《数据可视化》专栏维护者,里面有很多优秀的文章,本文便是其中一篇。

    生信宝典
  • Python数据分析之Seaborn(分类分析绘图 )

    抖动是平时可视化中的常用的观察“密度”的方法,除了使用参数抖动,特定的抖动需求也可以用numpy在数据上处理实现

    AI异构

扫码关注云+社区

领取腾讯云代金券