跟着Nature Communications学作图:R语言ggplot2画图展示捐赠者的临床概况

简介: 跟着Nature Communications学作图:R语言ggplot2画图展示捐赠者的临床概况

论文

Common anti-cancer therapies induce somatic mutations in stem cells of healthy tissue

https://www.nature.com/articles/s41467-022-33663-5#Sec18

今天的推文我们重复一下论文中的Figure1a,看起来非常像一个表格,很有意思

image.png

我们使用ggplot2来实现,主要分为三个部分,文本,形状,和背景的灰色条

首先是文本的部分数据截图

image.png

形状的三个数据截图

image.png

背景灰色条数据截图

image.png

总共5份数据,放在同一个excel文件里,5个不同的子表格

读取数据并作图

library(readxl)
library(ggplot2)
library(stringr)
library(tidyverse)

dat01<-read_excel("data/20221009/example_data.xlsx",
                sheet = "Sheet1")
dat01 %>% 
  mutate(label01=case_when(
    length(label) == 7 ~ str_pad(label,8,"right"),
    TRUE ~ label
  )) -> new.dat01

new.dat01

dat02<-read_excel("data/20221009/example_data.xlsx",
                  sheet = "Sheet2")
dat02

dat03<-read_excel("data/20221009/example_data.xlsx",
                  sheet = "Sheet3")
dat03

dat04<-read_excel("data/20221009/example_data.xlsx",
                  sheet = "Sheet4")
dat04

dat05<-read_excel("data/20221009/example_data.xlsx",
                  sheet = "Sheet5")
dat05

x_labels<-c("","Age","Normal\nTissue","Tissue\nSubtype",
            "Treatment\ntype","Treatment\ncycli",
            "Sampling after\ntreatment\n(months)",
            "Seqenced\nsamples")
ggplot()+
  scale_x_continuous(limits = c(0.5,8),
                     breaks = 1:8,
                     labels = x_labels,
                     position = "top")+
  geom_text(data=new.dat01,aes(x=x,y=y,label=label01))+
  geom_point(data=dat02,aes(x=x,y=y,color=`Normal tissue type`),
             size=5)+
  scale_color_manual(values = c("Colon"="#d38e91",
                                "Liver"="#1f639a"))+
  ggnewscale::new_scale_color()+
  geom_point(data=dat03,aes(x=x,y=y,color=`Tissue subtype`),
             size=5)+
  scale_color_manual(values = c("Descending colon"="#f6d65b",
                                "Sigmoid"="#3eada2",
                                "Rectum"="#eb553a",
                                "Liver"="#206599"))+
  ggnewscale::new_scale_color()+
  geom_point(data=dat04,aes(x=x,y=y,color=Treatment),
             size=5,shape=15)+
  scale_color_manual(values = c("5-FU + platinum"="#f49b5e",
                                "5-FU + radiation"="#c44657",
                                "5-FU + platinum + radiation"=
                                  "#89520e"))+
  theme_bw()+
  theme(axis.title = element_blank(),
        panel.grid = element_blank(),
        panel.border = element_blank(),
        axis.text.y = element_blank(),
        axis.ticks = element_blank(),
        axis.text.x = element_text(hjust=0.5,vjust=0.5))+
  geom_rect(data=dat05,
            aes(xmin=-Inf,xmax=Inf,ymin=ymin,ymax=ymax),
            fill="gray",alpha=0.2)

image.png

示例数据和代码可以给推文点赞 点击在看 最后留言获取

欢迎大家关注我的公众号

小明的数据分析笔记本

小明的数据分析笔记本 公众号 主要分享:1、R语言和python做数据分析和数据可视化的简单小例子;2、园艺植物相关转录组学、基因组学、群体遗传学文献阅读笔记;3、生物信息学入门学习资料及自己的学习笔记!
相关文章
|
数据挖掘
R语言临床预测模型:分层构建COX生存回归模型STRATIFIED COX MODEL、KM生存曲线、PH假设检验
R语言临床预测模型:分层构建COX生存回归模型STRATIFIED COX MODEL、KM生存曲线、PH假设检验
|
机器学习/深度学习 数据可视化
R语言决策树、随机森林、逻辑回归临床决策分析NIPPV疗效和交叉验证
R语言决策树、随机森林、逻辑回归临床决策分析NIPPV疗效和交叉验证
|
数据可视化 数据挖掘 Python
跟着Oncogene学作图:R语言gggenomes画桑基图
跟着Oncogene学作图:R语言gggenomes画桑基图
|
数据可视化 数据挖掘 Python
跟着NatureCommunications学作图:R语言ggtree根据分组给进化树上色
跟着NatureCommunications学作图:R语言ggtree根据分组给进化树上色
|
数据可视化 数据挖掘 Python
跟着NatureMetabolism学作图:R语言ggplot2转录组差异表达火山图
跟着NatureMetabolism学作图:R语言ggplot2转录组差异表达火山图
|
数据采集 机器学习/深度学习 数据可视化
R语言从数据到决策:R语言在商业分析中的实践
【9月更文挑战第1天】R语言在商业分析中的应用广泛而深入,从数据收集、预处理、分析到预测模型构建和决策支持,R语言都提供了强大的工具和功能。通过学习和掌握R语言在商业分析中的实践应用,我们可以更好地利用数据驱动企业决策,提升企业的竞争力和盈利能力。未来,随着大数据和人工智能技术的不断发展,R语言在商业分析领域的应用将更加广泛和深入,为企业带来更多的机遇和挑战。
|
8月前
|
数据采集 机器学习/深度学习 数据可视化
探索大数据分析的无限可能:R语言的应用与实践
探索大数据分析的无限可能:R语言的应用与实践
325 9
|
数据可视化 数据挖掘 API
【R语言实战】聚类分析及可视化
【R语言实战】聚类分析及可视化
|
机器学习/深度学习 数据可视化
R语言逻辑回归logistic模型ROC曲线可视化分析2例:麻醉剂用量影响、汽车购买行为2
R语言逻辑回归logistic模型ROC曲线可视化分析2例:麻醉剂用量影响、汽车购买行为
|
数据挖掘 C语言 C++
R语言是一种强大的统计分析工具,提供了丰富的函数和包用于时间序列分析。
【10月更文挑战第21天】时间序列分析是一种重要的数据分析方法,广泛应用于经济学、金融学、气象学、生态学等领域。R语言是一种强大的统计分析工具,提供了丰富的函数和包用于时间序列分析。本文将介绍使用R语言进行时间序列分析的基本概念、方法和实例,帮助读者掌握R语言在时间序列分析中的应用。
321 3