|撰文:莫比

之前生信大神谢老师在基迪奥生信交流群展示了一张用R语言绘制的组合图,令群内无数粉丝疯狂不已。这张图是这样子的:

对于我来说,绘制这张图的难点是如何将3张图组合到一起,而且“右图”的绘制方向与“上图”相反才能和主图(散点图)的坐标轴一致。

此外还有直方图和累计频率点线图的组合、Offset axis、全画布辅助线的添加、图例的添加等,如果不精通R的绘图函数,寸步难行!

那么,除了R语言,常规的作图软件比如Prism可以做到吗?

于是,找谢老师要了范例数据准备验证一下。顺便讲一下,如果大家对全基因组关联分析(GWAS)感兴趣可以前往Omicshare课堂观看谢老师的系列视频教程。

我的作图思路是:分别绘制“主”、“上”、“右”三个图表,然后把三个工程文件merge成1个,使用Prism的layout功能将三个图表组合在一起,最后手动添加辅助线、图例即可。下面就一起看下如何绘制吧!

|“主图”绘制

数据准备的准备很简单,只需π_poolA/π_poolB和Fst这两列数据即可,然后筛选出π_poolA/π_poolB≥1.174且Fst≥0.069的数据,以及其余数据。为了方便快速演示,我这里仅选取了3万个位点数据。如果不会筛选作图数据,可参考《如何使用Excel对数据进行筛选?》一文的方法。

然后,将数据复制粘贴到Prism的XY表格中,绘制XY分组散点图即可,数据表格的样式如下:

如果不会画分组散点图,可以参考《Graphpad Prism能不能画火山图?》或《Graphpad Prism能不能画九象限图?》的作图方法。如果不想看图文教程,也可以点击阅读原文前往Omicshare课堂观看视频教程。最终绘制的主图如下:

|“上图”绘制

接着新建一个工程文件,新建Column型的表格,将π_poolA/π_poolB这列数据复制粘贴到表格中,然后点Analyze按钮,做2次频率分布分析。

参数设置如下,注意将两次分析的Bin width(可理解为组距)都设置为0.01,至于为什么是0.01,可根据数据的分布范围估计,保证Bin的数量约200个左右,这样画出的“密度”曲线比较光滑。

然后新建1个XY表格,将两次分析的结果合并到一个表中,并依据π_poolA/π_poolB≥1.174将频率直方图的数据分成两组,用以实现直方图的分组着色效果,方法类似分组散点图,数据准备如下。

然后,在Graph选项下,图表类型选XY的Spikes,如下,你可能会问:为什么不是柱状图呢?因为柱状图的X轴的范围无法自定义。

接下来需要对图表进行个性化设置,比如将直方图和点线图的数据映射到两个Y轴上,设置X轴的长度、范围与主图的X轴一致等(如下),具体操作看之前系列的教程,这里不再赘述。

为了之后方便拼图,这里暂时不隐藏X轴,删掉图例,“上”图的绘制效果如下:

|“右图”绘制

方法与上图绘制一样,新建Column型的表格,将Fst这列数据复制粘贴到表格中,然后点Analyze按钮,Bin width设置为0.01,做2次频率分布分析。然后,合并分析数据作图如下:

很明显,如果放置在主图的右侧,顺时针旋转90°,图表的原点在图表的左上角,无法和主图一一对应。那么如何让原点处于图表右下角呢?Prism虽有原点位置设置功能,试了下,让人吐血。只能手动改变横坐标顺序了,“你不动,我动!” 唉,期待Prism 9 XY型数据也能横向绘制图表吧!

按照主图Y轴的范围,裁剪掉多余的数据(非常重要!),然后将X轴的数据,复制到Excel中降序排列后再粘贴回Prism即可快速完成顺序颠倒,手动修改刻度标签后效果如下:

至于为什么用Excel,那是因为Prism无法只对一列排序而其他列不动!

| 图表组合

终于到了最后一步,先通过file/Merge,将3个工程文件合并成一个,当然在合并之前你也可以复制一份,并将之前一些中间分析结果、图表删掉。合并文件后,在Layouts选项下,新建空白的布局,如下:

从左侧导航栏把依次将3个图表拖到Layout1画布中,并右键“右图”,顺时针旋转90°,排列好之后使用Draw选项下的直线工具绘制虚线,如下。

回到单个图表中隐藏掉X轴,以及主图的辅助线,即可完成图表的组合,如下,满意后导出图片即可。

如果使用全部(10万多个)位点的数据,虽然没有Origin那样的Fast模式,Prism也能抗的住,绘制效果如下图,不过你可能需要一些耐心!

最终的绘制效果如下:

最后,如果你还是没学会,可以先收藏起来,跟着实操哦~

也可以到OmicShar课堂,观看Graphpad Prism科研作图系列视频教程,好啦,今天的内容就到这里啦!

graphpad柱状图怎么加图例_科研绘图教程| 如何用Graphpad Prism绘制超复杂组合图?...相关推荐

  1. graphpad柱状图怎么加图例_如何用Graphpad prism添加多个图例

    匿名用户 1级 2015-02-11 回答 1. 折线图 折线图最为统计图中很常见的一类图,它的特点是可以显示随时间而变化的连续数据,因此每个数据点都有一个相应的X轴值和Y轴值,所以我们在用graph ...

  2. python绘图时如何添加图例_【Python】matplotlib 双y轴绘制及合并图例

    1.双y轴绘制 关键函数:twinx() 问题在于此时图例会有两个. # -*- coding: utf-8 -*- import numpy as np import matplotlib.pypl ...

  3. 2×3卡方检验prism_【SPSS数据分析】方差分析之多因素方差分析(3)Graphpad Prism绘制简单效应折线图...

    在上一期中我们详细的讲解了多因素方差分析中简单效应的SPSS操作方法,以及数据分析结果的解读.今天我们进一步讲解如何对简单效应的成对比较进行统计图形的绘制. 用到的是统计绘图软件GraphPad Pr ...

  4. graphpad prism怎么添加图例_如何用Graphpad Prism绘制两种堆叠图?

    打开软件后,通过双击窗口灰色区域或点Prism(棱镜)的小三角,新建工程文件.在弹出的向导窗口选择表格类型为Grouped,如下图. 将数据复制粘贴到Prism的表格中,接下来需要对数据矩阵做转置,点 ...

  5. 共聚焦图片怎么加标尺_科研教程|利用PS给电镜加标尺

    一.开篇前言 大家好,大飞鸽就是我,我就是大飞鸽. 我们拍摄的SEM或者TEM上都会有放大倍数.加速电压.标尺.电镜信号.拍摄时间等信息,然而正常情况下我们需要的只有标尺这个信息. 例如下方这个电镜图 ...

  6. python 条形图与线图的图例_【Python可视化2】Seaborn之条形图与点线图

    原标题:[Python可视化2]Seaborn之条形图与点线图 Seaborn是基于matplotlib的Python可视化库.它提供了一个高级界面来绘制有吸引力的统计图形.Seaborn其实是在ma ...

  7. 第四届高教杯计算机绘图教程,第十一届高教杯全国大学生先进成图技术与产品信息建模.PDF...

    第十一届高教杯全国大学生先进成图技术与产品信息建模.PDF 第十一届"高教杯"全国大学生先进成图技术 与产品信息建模创新大赛 道桥类竞赛大纲 一.基本知识与技能要求 1.制图基本知 ...

  8. 以题促学01_matplotlib画图_分别用subplots和subplot,add_subplot3种方法画组合图

    题目要求: 要求 1.一个画布上,有四个子图,画布大小设置为 6,6 2.左上子图,折线图,y=x*x 3.右上子图,散点图,x轴范围(0-10)之间整数,y轴为(0-1)之间正太分布数据 4.左下子 ...

  9. R计算两列数据的相关系数_使用R语言中的corrplot来绘制相关系数矩阵热图

    R语言也是目前常用的数据分析编程语言之一,目前经过使用者.科学家们的开发,其功能也比较强大.本文就使用R语言中的corrplot来绘制相关系数矩阵热图进行介绍. 下面以波士顿Boston的房价数据为例 ...

最新文章

  1. 独家 | CIKM AnalytiCup 2017冠军团队获胜经验分享(附PPT视频)
  2. 安装pyspider后运行pyspider all后遇到的问题
  3. C/C++编写的反向SHELL
  4. 前端学习(2422):反馈
  5. linux系统proc目录,快速了解Linux系统下的proc目录
  6. 什么?你项目还在用Date表示时间?!
  7. [NOIP2016]愤怒的小鸟
  8. elasticsearch 集群
  9. 开源,想说爱你不容易
  10. QML Math详解 生成随机数
  11. 微信小程序图片加载错误,显示优化
  12. emacs-打开和关闭
  13. 题目234 吃土豆
  14. 【计算机网络】6. 网络基础4之详解IP协议( IP协议头格式、IP地址管理、路由选择)
  15. flutter原生插件开发--IOS端
  16. 去掉Chrome自动填充表单浅黄色背景色
  17. 在黑暗中哭泣的众筹,黎明的曙光还未到来
  18. html去除表格间距,HTML两个表格间距怎么调整
  19. symantec忘记了密码时如何卸载?
  20. Android中notifyDataSetInvalidated()和notifyDataSetChanged()

热门文章

  1. 伯努利贝叶斯分类器的应用
  2. 度数换算_度数的换算
  3. 学习Python很难?过来人给你分享学习经验
  4. 扫盲贴-汽车上坡辅助HAC和自动驻车Auto Hold秒懂
  5. php srs api,srs 身份认证
  6. 跌吧,继续跌吧,小灰的基金已亏损64万。。。
  7. 临界区、互斥量、事件、信号量四种方式
  8. 软件工程 wc.exe 代码统计作业
  9. HTML制作简单网页(京东新闻资讯页,歌曲推荐网页)
  10. 轻生男子受的哥劝慰3小时 为求死刑将其杀害