这图怎么画 | 相关分析棒棒糖图

简介: 这图怎么画 | 相关分析棒棒糖图

Lollipop

写在前面

【这图怎么画】系列的图都来自VIP群里同学的提问。推文只是对图片的复现,不代表作者对图片展现形式的认同。欢迎同学们在群里分享有意思的图片。

本期图片

相关分析棒棒糖图

Title:Integrated Analysis Identifies Four Genes as Novel Diagnostic Biomarkers Which Correlate with Immune Infiltration in Preeclampsia

Doi:https://doi.org/10.1155/2022/2373694

这是一个相关分析结果的展示图。这里作者分别用色阶条以及数值展现了pvalue,用点的大小表示相关系数绝对值。

复现结果

复现结果

稍微调整了一下,原图把p值分层好多段,尤其是>0.05的部分,我觉得意义不大。

绘图

dat = read.csv("cor.csv")
head(dat)
# 对相关系数和p值转换为分类变量
dat$cor1 <- cut(abs(dat$cor),# 绝对值
                breaks = c(0, 0.3, 0.5, 0.7, 0.9, 1),
                labels = c("< 0.3","0.3 - 0.5","0.5 - 0.7","0.7 - 0.9","> 0.9"),
                right=FALSE) # right=FALSE表示表示区间为左闭右开
dat$pvalue1 <- cut(dat$pvalue,
                breaks = c(0, 0.001, 0.01, 0.05, 1),
                labels = c("< 0.001","< 0.01","< 0.05","> 0.05"),
                right=FALSE) 
# 排序
dat = dat[order(dat$cor),]
dat$Cell = factor(dat$Cell, levels = dat$Cell)
p = ggplot(dat, aes(x = cor, y = Cell, color = pvalue1)) +
  scale_color_manual(name="pvalue",
                     values = c("#E69F00", "#56B4E9", "#009E73", "gray"))+
  geom_segment(aes(x = 0, y = Cell, xend = cor, yend = Cell),size = 1) +
  geom_point(aes(size = cor1))+
  theme_bw()+
  labs(size = "Cor")
p
## 添加p值
dat$pvalue2 <- cut(dat$pvalue,
                   breaks = c(0, 0.05,1),
                   labels = c("< 0.05","> 0.05"),
                   right=FALSE) 
p1 = ggplot()+
  geom_text(dat,mapping = aes(x = 0, y = Cell, color = pvalue2, 
                              label = round(pvalue,3)))+
  scale_color_manual(name="",
                     values = c("red", "black"))+
  theme_void()+
  guides(color=F)
p1
library(patchwork)
p|p1
ggsave("lollipop.pdf",width = 8,height = 5)

result

后续在AI里调整一下位置即可~当然用基础函数或其他办法也能够直接画出来,这里我就不想了,有更好的办法的同学可以私信我。

往期内容

  1. (免费教程+代码领取)|跟着Cell学作图系列合集
  2. Q&A | 如何在论文中画出漂亮的插图?
  3. 跟着 Cell 学作图 | 桑葚图(ggalluvial)
  4. R实战 | Lasso回归模型建立及变量筛选
  5. 跟着 NC 学作图 | 互作网络图进阶(蛋白+富集通路)(Cytoscape)
  6. R实战 | 给聚类加个圈圈(ggunchull)
  7. R实战 | NGS数据时间序列分析(maSigPro)
  8. 跟着 Cell 学作图 | 韦恩图(ggVennDiagram)
相关文章
|
存储 监控 安全
【专栏】探讨Docker Compose的核心概念、使用方法及最佳实践,助你轻松驾驭容器编排的世界
【4月更文挑战第27天】Docker Compose是款轻量级容器编排工具,通过YAML文件统一管理多容器应用。本文分三部分深入讨论其核心概念(服务、网络、卷和配置)、使用方法及最佳实践。从快速入门到高级特性,包括环境隔离、CI/CD集成、资源管理和安全措施。通过案例分析展示如何构建多服务应用,助力高效容器编排与管理。
627 2
|
数据挖掘 数据格式
跟着Cell学作图 | 6.时间序列分析(Mfuzz包)
这篇2020年发表在cell上关于新冠的组学文章里面有大量的生信内容。今天带大家复现其中的一个Supplemental Figure:时间序列分析图。
1098 0
跟着Cell学作图 | 6.时间序列分析(Mfuzz包)
|
存储 数据可视化 数据挖掘
scRNA-seq|Seurat 整合分析
scRNA-seq|Seurat 整合分析
|
数据挖掘
跟着 NC 学作图 | 多组散点图+配对连线+差异分析
跟着 NC 学作图 | 多组散点图+配对连线+差异分析
423 0
|
编解码 定位技术
Google Earth Engine——全球土壤含数量数据:6个标准深度(0、10、30、60、100和200厘米)以250米的分辨率预测的33kPa和1500kPa吸力的土壤含水量(体积百分比)。
Google Earth Engine——全球土壤含数量数据:6个标准深度(0、10、30、60、100和200厘米)以250米的分辨率预测的33kPa和1500kPa吸力的土壤含水量(体积百分比)。
1209 0
Google Earth Engine——全球土壤含数量数据:6个标准深度(0、10、30、60、100和200厘米)以250米的分辨率预测的33kPa和1500kPa吸力的土壤含水量(体积百分比)。
|
JSON 数据可视化 Shell
数据结构可视化 Graphviz在Python中的使用 [树的可视化]
数据结构可视化 Graphviz在Python中的使用 [树的可视化]
354 0
|
数据可视化 数据处理
R可视化学习(4) -- 棒棒糖图
棒棒糖图其实类似于柱状图加散点图的效果,因为他的形状就是由俩部分组成(点+线条),因此在ggplot中,我们只要通过geom_point()函数绘制"糖"的那一部分,geom_segment()函数绘制“棒棒”那一部分,就可轻松绘制出这种图形
373 0
|
缓存 NoSQL 应用服务中间件
基于Nginx+Lua优化多级缓存架构
基于Nginx+Lua优化多级缓存架构
359 0
|
人工智能 数据可视化 数据挖掘
这图怎么画| 富集分析之双向柱状图
这图怎么画| 富集分析之双向柱状图
375 0
|
数据挖掘
这图怎么画| 多组箱线图+组间/内差异分析
这图怎么画| 多组箱线图+组间/内差异分析
390 0