分享

断开Y轴

 闲庭之雨 2019-04-07

转自 小丫画图

【提出问题】

A vs B显著,C vs D显著,AB vs CD也显著。可是,当我把ABCD画到一张图上时,问题出现了:

由于AB的柱子远高于CD,A跟B、C跟D看起来就没啥区别了,而且CD还被压成了肉饼。这可怎么办?

【解决方案】

小丫画图群里的小伙伴分享了他的好办法:断开Y轴。看效果吧:

*p < 0.05, **p < 0.01, ***p < 0.001

Figure 5. LC-MS analysis of sterols and lipids in WT and fenΔ/Δ cells. 

出自Jiaxin Gao, Haitao Wang, Zeyao Li, Ada Hang-Heng Wong, Yi-Zheng Wang, Yahui Guo, Xin Lin, Guisheng Zeng, Yue Wang & Jianbin Wang. (2018) Candida albicans gains azole resistance by altering sphingolipid composition. Nature communications. Oct 29

刚刚online,终于可以拿出来秀啦!


小伙伴尝试了n种方法,才找到这个函数:gap.barplot,函数作者:金子哦。

【特点】

1. 简单易用,一行代码就能实现

gap.barplot(dt, y.cols = 2:4, sd.cols = 5:7, col = cols, brk.type = brkt, brk.size = 0.6, brk.lwd = 2, max.fold = 5, ratio = 2, cex.error = 0.3)

2. 可以自己设置断点位置、比例、形状、长度,还能自动计算合适的断点位置;

3. 函数注释清晰,方便修改、灵活运用。

【写给小白的初级模仿指南】

1. 打开网页:https://blog.csdn.net/u014801157/article/details/24372371

2. 把红色箭头所指的方框里的代码复制粘贴到文本文件,保存到当前文件夹,文件名为gap.barplot.R

3. 在R里面输入:

source("gap.barplot.R")

4. 把蓝色箭头所指的方框里的代码复制粘贴到R里运行

就画出示例图啦!

怎样用你自己的数据画出这样的图?

【写给小白的代码套用方法】

1. 导出示例数据

作者的示例数据保存在dt里,运行下面这行,把它保存到txt文件里

write.table(dt,"easy_input.txt", sep = "\t", quote = F, row.names = F)

用Excel打开,看懂格式:

第一列Ozone是sample ID,第2到4列是三个指标的均值,第5到7列对应前面三个指标的标准差。

2. 替换成自己的数据

用你自己的数据依次替换easy_input.txt里的sample ID、均值和标准差。

3. 在R里运行下面这段代码:

source("gap.barplot.R")
dt <- read.table("easy_input.txt", header = T, as.is = T) #读入自己的数据
cols <- c("#223D6C","#D20A13","#FFD121") #自定义颜色
gap.barplot(dt, y.cols = 2:4, #均值所在的列            sd.cols = 5:7, #标准差所在的列            col = cols, #bar的颜色            brk.type = "normal", #y轴断点的类型            brk.size = 0.6, #断点标记线的长度            brk.lwd = 2, #断点标记线的线宽            max.fold = 5, #自动计算断点时最大值与下方数据最大值的最大倍数比            ratio = 2, #断裂后上部与下部y轴长度的比例            cex.error = 0.3) #误差线相对长度

图就出来啦!

【怎样画成发表级】

上面的代码实现了断开Y轴的基本功能,只能算初稿,需要精心修改调试,才能达到发表级,就像上面paper里的Figure 5那样。

顺便欣赏一下paper里的Figure 4:

Fig. 4 Genetic screens for fluconazole-resistant mutants. 

第n次感慨一下!这家伙画的图真是美啊!

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多