本教程绘制的图形是来自NC期刊的图形,我不知道叫什么图形,但是仔细一看就是的属于“环状柱状图”,那就是这样叫吧!
看着还算是比较新颖的,那就学一下吧!!

绘图

加载R包

library(ggplot2)

加载数据

绘制基础图形

p <- ggplot(data, aes(x=as.factor(id), y=est, fill=group)) +       # Note that id is a factor. If x is numeric, there is some space between the first bargeom_bar(aes(x=as.factor(id), y=est, fill=group), stat="identity", alpha=1) +geom_errorbar(aes(ymin = est-se, ymax  = est+se),width = 0.2,position = position_dodge(.9), size  = .5, alpha=1)

增加一个val

p2 <- p +geom_segment(data=grid_data, aes(x = end, y = 1, xend = start, yend = 1), colour = "grey", alpha=1, size=0.3 , inherit.aes = FALSE ) +geom_segment(data=grid_data, aes(x = end, y = 0.8, xend = start, yend = 0.8), colour = "grey", alpha=1, size=0.3 , inherit.aes = FALSE ) +geom_segment(data=grid_data, aes(x = end, y = 0.6, xend = start, yend = 0.6), colour = "grey", alpha=1, size=0.3 , inherit.aes = FALSE ) +geom_segment(data=grid_data, aes(x = end, y = 0.4, xend = start, yend = 0.4), colour = "grey", alpha=1, size=0.3 , inherit.aes = FALSE ) +geom_segment(data=grid_data, aes(x = end, y = 0.2, xend = start, yend = 0.2), colour = "grey", alpha=1, size=0.3 , inherit.aes = FALSE ) +geom_segment(data=grid_data, aes(x = end, y = 0, xend = start, yend = 0), colour = "grey", alpha=1, size=0.3 , inherit.aes = FALSE )

在val中添加数字

p3 <- p2 +annotate("text", x = rep(max(data$id),6), y = c(0, 0.2, 0.4, 0.6, 0.8, 1), label = c("0", "0.2", "0.4", "0.6", "0.8", "1") , color="black", size=4 , angle=0, hjust=1)

将y轴进行延伸

p4 <- p3+ geom_bar(aes(x=as.factor(id), y=est, fill=group), stat="identity", alpha=0.5) +ylim(-1,3)

进行美化

p5 <- p4 + theme_minimal() +theme(legend.position = "right",legend.title = element_blank(),legend.text = element_text(size=12),axis.text = element_blank(),axis.title = element_blank(),panel.grid = element_blank())

变成环状图形

使用coord_polar()函数进行转换

p6 <- p5 + coord_polar()

颜色美化

p7 <- p6 + scale_fill_manual(breaks = c("Intellectual disabilities","Communication disorders", "ASD","ADHD", "Specific learning disorders","Dyslexia-related phenotypes","Dysgraphia-related phenotypes","Dyscalculia-related phenotypes","Motor disorders"),values = c("#184e77","#1e6091","#1a759f","#168aad","#34a0a4","#52b69a","#76c893","#99d98c","#b5e48c"))+ggtitle("Heritability of sub-categories of Neurodevelopmental Disorders")

标注映射到柱子上

p8 <- p7 + geom_text(data=label_data, aes(x=id, y= est+se+0.2, label=pheno, hjust=hjust), color="black", alpha=1, size=4, angle= label_data$angle, inherit.aes = FALSE )


完整代码

ggplot(data, aes(x=as.factor(id), y=est, fill=group)) +       # Note that id is a factor. If x is numeric, there is some space between the first bargeom_bar(aes(x=as.factor(id), y=est, fill=group), stat="identity", alpha=1) +geom_errorbar(aes(ymin = est-se, ymax  = est+se),width = 0.2,position = position_dodge(.9), size  = .5, alpha=1)+# 添加 valgeom_segment(data=grid_data, aes(x = end, y = 1, xend = start, yend = 1), colour = "grey", alpha=1, size=0.3 , inherit.aes = FALSE ) +geom_segment(data=grid_data, aes(x = end, y = 0.8, xend = start, yend = 0.8), colour = "grey", alpha=1, size=0.3 , inherit.aes = FALSE ) +geom_segment(data=grid_data, aes(x = end, y = 0.6, xend = start, yend = 0.6), colour = "grey", alpha=1, size=0.3 , inherit.aes = FALSE ) +geom_segment(data=grid_data, aes(x = end, y = 0.4, xend = start, yend = 0.4), colour = "grey", alpha=1, size=0.3 , inherit.aes = FALSE ) +geom_segment(data=grid_data, aes(x = end, y = 0.2, xend = start, yend = 0.2), colour = "grey", alpha=1, size=0.3 , inherit.aes = FALSE ) +geom_segment(data=grid_data, aes(x = end, y = 0, xend = start, yend = 0), colour = "grey", alpha=1, size=0.3 , inherit.aes = FALSE ) +# 添加val中的数字annotate("text", x = rep(max(data$id),6), y = c(0, 0.2, 0.4, 0.6, 0.8, 1), label = c("0", "0.2", "0.4", "0.6", "0.8", "1") , color="black", size=4 , angle=0, hjust=1) +geom_bar(aes(x=as.factor(id), y=est, fill=group), stat="identity", alpha=0.5) +ylim(-1,3) +theme_minimal() +theme(legend.position = "right",legend.title = element_blank(),legend.text = element_text(size=12),axis.text = element_blank(),axis.title = element_blank(),panel.grid = element_blank()) +## 变环coord_polar() + ## 柱子标注scale_fill_manual(breaks = c("Intellectual disabilities","Communication disorders", "ASD","ADHD", "Specific learning disorders","Dyslexia-related phenotypes","Dysgraphia-related phenotypes","Dyscalculia-related phenotypes","Motor disorders"),## 柱子颜色values = c("#184e77","#1e6091","#1a759f","#168aad","#34a0a4","#52b69a","#76c893","#99d98c","#b5e48c"))+ggtitle("Heritability of sub-categories of Neurodevelopmental Disorders")+
## 将标注映射到柱子上geom_text(data=label_data, aes(x=id, y= est+se+0.2, label=pheno, hjust=hjust), color="black", alpha=1, size=4, angle= label_data$angle, inherit.aes = FALSE )

ENDING !


往期文章:
1. 最全WGCNA教程(替换数据即可出全部结果与图形)

WGCNA分析 | 全流程分析代码 | 代码一

WGCNA分析 | 全流程分析代码 | 代码二

WGCNA分析 | 全流程代码分享 | 代码三

2. 精美图形绘制教程

精美图形绘制教程


话说公众号需要标星,这样公众号的内容你才不会错过。那么,我们也动手标一下吧。


小杜的生信筆記 ,主要发表或收录生物信息学的教程,以及基于R的分析和可视化(包括数据分析,图形绘制等);分享感兴趣的文献和学习资料!!

跟着NC学作图 | 柱状图新画法 (环状柱状图)相关推荐

  1. 跟着 NC 学作图 | 多组散点图+配对连线+差异分析

    scatter_paired_line 今天我们复现一幅2022年7月发表在nature communications上的配对连线散点图. ❝ Title:Evaluation of transpla ...

  2. 跟着Cell学作图 | 2.柱状图+误差棒+散点+差异显著性检验

    跟着 Cell 学作图 | 2.柱状图+误差棒+散点 "实践是检验真理的唯一标准." "复现是学习R语言的最好办法." 2021.4.12_1 DOI: 10. ...

  3. 跟着Cell学作图 | 12.韦恩图(Vennerable包)

    "实践是检验真理的唯一标准." "复现是学习生信的最好办法." 2021.4.12_1 DOI: 10.1016/j.cell.2020.05.032 这篇20 ...

  4. 跟着Cell学作图|9.PPI分析(GeNets数据库)

    9.PPI分析(GeNets数据库) "实践是检验真理的唯一标准." "复现是学习R语言的最好办法." DOI: 10.1016/j.cell.2020.05. ...

  5. 跟着Cell学作图 | 5.UMAP降维分析

    跟着 Cell 学作图 | 5.UMAP降维分析 "实践是检验真理的唯一标准." "复现是学习R语言的最好办法." 2021.4.12_1 DOI: 10.10 ...

  6. 跟着 Cell 学作图 | 4.小提琴图

    跟着 Cell 学作图 | 4.小提琴图 "实践是检验真理的唯一标准." "复现是学习R语言的最好办法." DOI: 10.1016/j.cell.2020.0 ...

  7. 跟着 Cell 学作图 | 3.箱线图+散点+差异显著性检验

    跟着 Cell 学作图 | 3.箱线图+散点+差异显著性检验 "实践是检验真理的唯一标准." "复现是学习R语言的最好办法." DOI: 10.1016/j.c ...

  8. 跟着CELL学作图|1.火山图

    跟着CELL学作图之火山图 "实践是检验真理的唯一标准." "复现是学习R语言的最好办法." DOI: 10.1016/j.cell.2020.05.032 这 ...

  9. 跟着NC学cfDNA全基因组片段化丰度谱分析

    继续我们的跟着NC学系列,前面分享的是关于16S扩增子测序和宏基因组数据分析的.考虑到我们有许多小伙伴是做人类基因组方面的,这次分享一篇癌症早筛方面的,血液DELFI全基因组片段化丰度谱检测的分析框架 ...

最新文章

  1. 2D图片3秒变立体,变换视角流畅自然:Adobe实习生的智能景深算法,登上顶级期刊...
  2. [CF413D]2048
  3. 【每周NLP论文推荐】 开发聊天机器人必读的重要论文
  4. linux平均负载什么意思_在Linux中什么是平均负载?
  5. 2021-08-13 初识servlet
  6. 转:HTTP ---HTTP头的编码问题(Content-Disposition)
  7. 基于linux的安全通讯过程
  8. matlab画图入门教程
  9. 日记/malloc函数与头文件
  10. Tcl 语言 ——语法篇
  11. rtl8821cu 驱动编译
  12. keras 中的verbose详解
  13. 类和对象,属性和方法
  14. Swift基础(六)解包
  15. Vue打包后通过springboot运行页面为空白页的解决方法
  16. 汉字点阵c语言程序,用c51单片机控制1616点阵显示汉字源代码
  17. MindMapper16中文汉化版下载
  18. S7-300/400 PLC 模拟量输入/输出的量程转换
  19. 【淘宝】图片放大 代码
  20. html5播放器插件手机版,Html5弹幕视频播放器插件

热门文章

  1. 罗技LogitechFlow技术--惊艳的多电脑切换体验
  2. Soul瞬间发布长视频教程
  3. Skynet项目搭建
  4. 开关量无线传输-1主4从
  5. 计算机技术在我国的发展,计算机技术在我国热处理工业领域的应用和发展_阎承沛.pdf...
  6. PTA 实验7-5 输出大写英文字母(10 分)
  7. 我用ubuntu——linux路上搞qq,及,其他
  8. 华硕主板设置完成通电开机,接上Wi-Fi智能插座,通电开机无效的原因???
  9. html颜色代码对照表
  10. 计算机运行命令如何关闭应用程序,如何禁止电脑中某些程序的运行