• 主页
  • 课程

    关于课程

    • 课程归档
    • 成为一名讲师
    • 讲师信息
    同等学历教学

    同等学历教学

    免费
    阅读更多
  • 特色
    • 展示
    • 关于我们
    • 问答
  • 事件
  • 个性化
  • 博客
  • 联系
  • 站点资源
    有任何问题吗?
    (00) 123 456 789
    weinfoadmin@weinformatics.cn
    注册登录
    恒诺新知
    • 主页
    • 课程

      关于课程

      • 课程归档
      • 成为一名讲师
      • 讲师信息
      同等学历教学

      同等学历教学

      免费
      阅读更多
    • 特色
      • 展示
      • 关于我们
      • 问答
    • 事件
    • 个性化
    • 博客
    • 联系
    • 站点资源

      老俊俊的生信笔记

      • 首页
      • 博客
      • 老俊俊的生信笔记
      • 跟着Nature学绘图(2) 箱线图-累积分布曲线图

      跟着Nature学绘图(2) 箱线图-累积分布曲线图

      • 发布者 weinfoadmin
      • 分类 老俊俊的生信笔记
      • 日期 2022年5月2日
      测试开头

      欢迎关注R语言数据分析指南

      ❝

      本节继续来对上一节介绍的论文图表来进行复现,主要内容包括箱线图,累积曲线分布图,生存曲线,下面来看具体操作 

      Pan-cancer characterization of immune-related lncRNAs identifies potential oncogenic biomarkers

      ❞

      跟着Nature学绘图(2) 箱线图-累积分布曲线图

      安装并加载R包

      package.list=c("tidyverse","MetBrewer","ggsignif","patchwork","survival","survminer")

      for (package in package.list) {
        if (!require(package,character.only=T, quietly=T)) {
          install.packages(package)
          library(package, character.only=T)
        }
      }

      定义主题

      theme_niwot <- function(){
        theme(panel.background = element_blank(),
              panel.grid.minor = element_blank(),
              axis.title.y = element_text(margin = margin(r =3),size = 11,face="bold",color="black"),
              axis.text = element_text(color="black",size=11),
              panel.border = element_rect(linetype = "solid",colour = "black", fill = "NA", size = 1),
              legend.position = "non")
      }

      Figure-a

      p1 <- read_tsv("F6-b.txt")%>% select(1,3) %>% 
        left_join(.,read_tsv("F6-a.txt"),by=c("sampleID"="Patient_ID")) %>% 
        select(Subtype,`Non-silent per Mb`) %>% mutate(Subtype=as.character(Subtype)) %>% 
        ggplot(aes(Subtype,`Non-silent per Mb`,fill=Subtype))+
        geom_boxplot(outlier.shape = NA,linetype = "dashed",width=0.5,color="black")+
        stat_boxplot(aes(ymin = ..lower.., ymax = ..upper..),outlier.shape = NA,width=0.5) +
        stat_boxplot(geom = "errorbar", aes(ymin = ..ymax..),width=0.2) +
        stat_boxplot(geom = "errorbar", aes(ymax = ..ymin..),width=0.2) +
        stat_summary(geom = "crossbar", fun = "mean",linetype = "dotdash", width = 0.5,color="black")+
        ylim(0,20)+
        scale_fill_manual(values =c("#6A3D9A","#1F78B4" ,"#33A02C"))+
        labs(x=NULL)+  theme_niwot()

      ❝

      通过图层叠加来绘制虚线,图中水平虚线表示平均值

      ❞

      跟着Nature学绘图(2) 箱线图-累积分布曲线图

      Figure-b

      p2 <- read_tsv("F6-b.txt") %>% mutate(Subtype=as.character(Subtype)) %>% 
        ggplot(aes(Subtype,HRD,fill=Subtype))+
        geom_boxplot(outlier.shape = NA,linetype = "dashed",width=0.5,color="black")+
        stat_boxplot(aes(ymin = ..lower.., ymax = ..upper..),outlier.shape = NA,width=0.5) +
        stat_boxplot(geom = "errorbar", aes(ymin = ..ymax..),width=0.2) +
        stat_boxplot(geom = "errorbar", aes(ymax = ..ymin..),width=0.2) +
        stat_summary(geom = "crossbar", fun = "mean",linetype = "dotdash", width = 0.5,color="black")+
        geom_signif(comparisons = list(c("1","3"),c("2","3")),
                    map_signif_level=T,vjust=0.5,color="black",
                    textsize=6,test=wilcox.test,step_increase=0.1)+
        scale_fill_manual(values =c("#6A3D9A","#1F78B4" ,"#33A02C"))+
        labs(x=NULL)+theme_niwot()
      跟着Nature学绘图(2) 箱线图-累积分布曲线图

      Figure-d

      绘制累积分布曲线

      df <- read_tsv("F6-b.txt")%>% select(1,3) %>% 
        left_join(.,read_tsv("F6-e.txt"),by=c("sampleID"="Sample")) %>% 
        left_join(.,read_tsv("F6e-CYT.txt"),by=c("sampleID"="Sample")) %>% 
        left_join(.,read_tsv("F6e-MHC.txt") %>% 
                    dplyr::rename("MHC Score"="Score"),by=c("sampleID"="Sample")) %>% 
        select(-Project.x,-Project.y,-Project,-sampleID) %>% 
        mutate(Subtype=as.factor(Subtype)) %>% 
        pivot_longer(-Subtype)

      df$name <- factor(df$name,levels = c("Immune Score","CYT-Score","MHC Score"))
      p3 <- ggplot(df,aes(x=value,color=Subtype))+
        facet_wrap(.~name,scales="free_x")+
        stat_ecdf()+
        labs(y="cumulative distribution funcition (CDF)",x=NULL)+
        scale_color_manual(values =c("#6A3D9A","#1F78B4" ,"#33A02C"))+
        theme(panel.background = element_blank(),
              panel.grid.minor = element_blank(),
              axis.title.y = element_text(margin = margin(r =5),size = 11,color="black",face="bold"),
              axis.text = element_text(color="black",size=11),
              panel.border = element_rect(linetype = "solid",colour = "black", fill = "NA",size=1),
              strip.text.x = element_text(colour ="black",size=11),
              strip.background = element_rect(fill="#00A08A"),
              panel.spacing.x = unit(0.1, "cm"),
              legend.title = element_blank(),
              legend.key=element_blank(),  
              legend.text = element_text(color="black",size=10), 
              legend.spacing.x=unit(0.1,'cm'), 
              legend.background=element_blank(),
              legend.position = c(0,1), legend.justification = c(0,1))
      跟着Nature学绘图(2) 箱线图-累积分布曲线图

      Figure-c

      df <- read_tsv("F5-f.txt") %>% select(SurvivalTime,vital_status,Subtype) %>%
        mutate(Subtype=as.factor(Subtype),
               vital_status=as.logical(case_when(vital_status =="alive" ~ "TRUE",vital_status =="dead" ~ "FALSE")))

      fit <- survfit(Surv(SurvivalTime,vital_status) ~ Subtype, data = df)

      p4 <- ggsurvplot(fit,risk.table=F,risk.table.col="strata",conf.int.style = "step",
                 pval = "Log-rank P = 0.02",
                 pval.coord=c(4000,0.99),
                 size=0.8,
                 font.legend =8,
                 palette=c("#6A3D9A","#1F78B4" ,"#33A02C"),
                 ggtheme=theme_bw()+
                 theme(panel.border = element_rect(fill=NA,color="black", size=1, linetype="solid"),
                       axis.line = element_line(colour = "black"),
                       axis.text = element_text(hjust = 0.5, size = 11,colour = "black"),
                       axis.title=element_text(face="bold",size=11,colour = 'black',margin = margin(r =3)), 
                       legend.title = element_blank(),
                       legend.key=element_blank(),  
                       legend.text = element_text(color="black",size=10), 
                       legend.spacing.x=unit(0.1,'cm'), 
                       legend.background=element_blank(),
                       legend.position = c(0,1),legend.justification = c(0,1)),
                 legend.labs=c(paste0("C1","(",fit$n[1],")"),
                               paste0("C2","(",fit$n[2],")"),
                               paste0("C3","(",fit$n[3],")")))

      patchwork 拼图

      (p1+p2+p4$plot+plot_layout(ncol = 3, width = c(1, 1,2)))/p3+
        plot_annotation(tag_levels = 'A')
      跟着Nature学绘图(2) 箱线图-累积分布曲线图

      数据获取

      ❝

      本节的内容到此结束,后面的内容下次在继续进行复现,喜欢的小伙伴欢迎转发此文档附上一句话到朋友圈「30分钟后台截图给我」,即可获取对应的数据及代码,如未及时回复可添加我的微信

      ❞

      欢迎大家扫描下方二位码加入「QQ交流群」,与全国各地上千位小伙伴交流

      跟着Nature学绘图(2) 箱线图-累积分布曲线图

      「关注下方公众号下回更新不迷路」,如需要加入微信交流群可添加小编微信,请备注单位+方向+姓名

      跟着Nature学绘图(2) 箱线图-累积分布曲线图

      跟着Nature学绘图(1) 热图|散点图

      测试结尾

      请关注“恒诺新知”微信公众号,感谢“R语言“,”数据那些事儿“,”老俊俊的生信笔记“,”冷🈚️思“,“珞珈R”,“生信星球”的支持!

      • 分享:
      作者头像
      weinfoadmin

      上一篇文章

      R语言学习:阅读《R For Everyone 》(第二版)
      2022年5月2日

      下一篇文章

      高效计算科学研究的十条简单规则
      2022年5月8日

      你可能也喜欢

      9-1651542322
      Julia 笔记之字符串
      2 5月, 2022
      0-1651542343
      Julia 笔记之数学运算和初等函数
      1 5月, 2022
      7-1651542357
      XAM 包处理 sam 和 bam 文件
      30 4月, 2022

      搜索

      分类

      • R语言
      • TCGA数据挖掘
      • 单细胞RNA-seq测序
      • 在线会议直播预告与回放
      • 数据分析那些事儿分类
      • 未分类
      • 生信星球
      • 老俊俊的生信笔记

      投稿培训

      免费

      alphafold2培训

      免费

      群晖配置培训

      免费

      最新博文

      Nature | 单细胞技术揭示衰老细胞与肌肉再生
      301月2023
      lncRNA和miRNA生信分析系列讲座免费视频课和课件资源包,干货满满
      301月2023
      如何快速批量修改 Git 提交记录中的用户信息
      261月2023
      logo-eduma-the-best-lms-wordpress-theme

      (00) 123 456 789

      weinfoadmin@weinformatics.cn

      恒诺新知

      • 关于我们
      • 博客
      • 联系
      • 成为一名讲师

      链接

      • 课程
      • 事件
      • 展示
      • 问答

      支持

      • 文档
      • 论坛
      • 语言包
      • 发行状态

      推荐

      • iHub汉语代码托管
      • iLAB耗材管理
      • WooCommerce
      • 丁香园论坛

      weinformatics 即 恒诺新知。ICP备案号:粤ICP备19129767号

      • 关于我们
      • 博客
      • 联系
      • 成为一名讲师

      要成为一名讲师吗?

      加入数以千计的演讲者获得100%课时费!

      现在开始

      用你的站点账户登录

      忘记密码?

      还不是会员? 现在注册

      注册新帐户

      已经拥有注册账户? 现在登录

      close
      会员购买 你还没有登录,请先登录
      • ¥99 VIP-1个月
      • ¥199 VIP-半年
      • ¥299 VIP-1年
      在线支付 激活码

      立即支付
      支付宝
      微信支付
      请使用 支付宝 或 微信 扫码支付
      登录
      注册|忘记密码?