我在之前的《Origin也可以方便绘制火山图》一文介绍过使用Origin绘制火山图(如下图),因为它支持“长型”数据,很容易将点的颜色与分组数据建立映射关系。 那么只支持“宽型”数据的Graphpad Prism能不能绘制火山图呢? 我的印象中, Graphpad Prism的8种数据格式似乎都不适合画火山图。于是我先决定看看Graphpad Prism的官方范例中有没有火山图。最终还是找到了,如下: “Are you kidding me? ” 这也配叫火山图?我脑海里浮现出下面的“凤凰傲意”图,嗯,苍劲的笔法,恰到好处的留白,寥寥数笔展示出了“神鸟凤凰”的吃米神韵! Prism可能真的不能画火山图!在快要放弃的时候,忽然想到Prism做生存分析的表格结构可以一试,如下,结果还真可以绘制分组散点图! 下面,就开始看下Prism能不能画出包含4.7万个散点的火山图吧。 数据准备 首先,在Excel中将数据整理成上图这样的格式。为了便于比较,本文依旧使用《Origin也可以方便绘制火山图》一文的范例数据。 打开软件后,通过双击窗口灰色区域或点Prism(棱镜)的小三角,新建工程文件。在弹出的向导窗口选择表格类型为XY,X、Y数据的设置如下图: 然后,除去gene id这一列,将其他4列数据粘贴到Prism的表格中,如下: 接下来需要对up、ns、down这3列的FDR值进行取对数。点Analyze按钮,选择Transform,对数据进行标准化,步骤如下: 计算公式选择内建的“Y=-1*log(Y)”,点OK按钮即可完成计算,方法如下: 计算结果如下: 图表调整 表格数据计算完成后,其实图表也基本上完成了,只需点左侧导航栏中Graphs菜单下的Transform of Data 1,即可看到初始绘制结果,见下图: 接着双击横坐标轴,设置刻度范围为[-16,16],在Frame and Origin选项卡下将Shape由默认的Wide改为Square(方形),还可修改坐标轴的“包围”方式,如下图: 接着双击“散点”,先选择Change All data sets,然后将shape改为实心的圆,Size改为1。 再将up、ns、down这3个data set的散点分别改为不同的颜色,如下: 同时在DataSets on Graph选项下,改变三组“点”的图层顺序,如下图,这里将灰色的点置于底层。 除此之外,Prism还可以对图上的点进行整体平移,方法如下。这样可以避免纵坐标为0的点全部落在x轴上。当然你也可以通过其他的方法解决这一难题,比如给所有的Y值加一个较小的值,或者将Y轴的原点设为一个接近0 的负值等。但不可否认,Prism的这个功能实在太赞了! 双击坐标轴或刻度标签还可以在指定的位置添加辅助线,如下,这里x轴的-1和1处添加两条辅助线(如下),也可在y轴的1.3(注:1.301=log10(0.05)*-1)处添加一条水平的辅助线。 点右侧的Details下的“…”按钮,可对辅助线的样式进行更自由的调整,如下: 最终的效果如下: 图表导出 通过File\Export Graph 导出所需格式的图片,如下图,前5种是矢量图格式,无需设置dpi。最后,建议通过File\Save保存工程文件,以便反复调整。 今天的内容就先到这里啦! |
|