前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >R语言画肿瘤领域的瀑布图

R语言画肿瘤领域的瀑布图

作者头像
医学和生信笔记
发布2022-11-15 12:53:30
1.9K0
发布2022-11-15 12:53:30
举报
文章被收录于专栏:医学和生信笔记

今天要说的是肿瘤治疗领域常用的瀑布图,不是生物信息学领域的瀑布图。

瀑布图和泳道图经常一起出现,泳道图的绘制请看历史推文:

用ggplot2画肿瘤领域常见的泳道图 ggplot2画泳道图箭头如何显示

瀑布图可以展示同一个药物治疗不同组别患者之间的治疗效果。

肿瘤领域的瀑布图

其实就是普通的条形图。

首先我们虚构一个数据:

代码语言:javascript
复制
suppressMessages(library(tidyverse))

set.seed(1111)
df <- data.frame(id = 1:60,
                 group = sample(c("group1","group2","group3","group4"),60,replace = T),
                 size = sample(c(-10:-1,1:10),60,replace = T)
                 )
df$id <- factor(df$id)

str(df)
## 'data.frame': 60 obs. of  3 variables:
##  $ id   : Factor w/ 60 levels "1","2","3","4",..: 1 2 3 4 5 6 7 8 9 10 ...
##  $ group: chr  "group4" "group2" "group2" "group2" ...
##  $ size : int  7 5 -3 -7 -2 2 10 3 -9 2 ...
head(df)
##   id  group size
## 1  1 group4    7
## 2  2 group2    5
## 3  3 group2   -3
## 4  4 group2   -7
## 5  5 group4   -2
## 6  6 group1    2

一共3列,第一列是病人编号,第二列是所属组别,比如常见的突变组/未突变组,CP/PR/PD/SD组等等,还有一列是肿瘤变化大小。

如果你需要展示更多的信息,只要再增加列即可。

直接用ggplot2画图即可:

代码语言:javascript
复制
ggplot(df, aes(fct_reorder(id, size), size))+
  geom_bar(stat = "identity", aes(fill=group))+
  scale_x_discrete(name=NULL,labels=NULL)+
  labs(y="Change from baseling (cm)")+
  geom_hline(yintercept = 3,linetype=2,color="red")+
  theme_classic()+
  theme(axis.line.x = element_blank(),
        axis.title.y = element_text(size = 18,color="black"),
        axis.ticks.x = element_blank(),
        axis.text.y = element_text(size = 14,color = "black"),
        legend.direction = "horizontal",
        legend.position = c(0.7,0.1)
        )

plot of chunk unnamed-chunk-2

这个图由于数据问题,并不能看出什么效果,不过画一个瀑布图就是这么简单!

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-09-21,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 医学和生信笔记 微信公众号,前往查看

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

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

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