R语言作图plot函数以及参数设置解析

Python077

R语言作图plot函数以及参数设置解析,第1张

plot(x, y = NULL, type = "p", xlim = NULL, ylim = NULL, log = "", main = NULL, sub = NULL, xlab = NULL, ylab = NULL, ann = par("ann"), axes = TRUE, frame.plot = axes, panel.first = NULL, panel.last = NULL, asp = NA, xgap.axis = NA, ygap.axis = NA,   ...) x,y  用于横纵坐标作图的数据对象。 type 图类型(线条和点类型),使用格式type=" "。                                                    type="p"显示为空心点。plot                                                    type="l"显示为线条。line                                                    type="b"显示为空心点和线条。both                                                    type="c"显示为无点和线条。                                                    type="o"显示为空心点和线条,线穿过空心点。                                                    type="s"/"S"显示为阶梯线。                                                    type="h"显示为直方图样的垂直线。                                                    type="n"显示为无点和无线条。 xlim/ylim 用于指定图的x轴和y轴的范围,使用格式:xlim=c(x1,x2), ylim=c(y1,y2)。 xlab/ylab 用于给图的x轴和y轴添加标签,使用格式:xlab="xlab",ylab="ylab"。 main 用于对plot添加主标题, main="   "。 sub   用于对plot添加副标题, sub="   "。 log   用于对x或者y值取log。log="x"/"y"/"xy"。 ann  使用T/F对plot中的标题,x轴标签,y轴标签是否显示进行定义。 axes  使用T/F对坐标轴是否显示进行定义。 frame.plot  使用T/F对画图外框是否显示进行定义。 panel.first  参数还没弄懂,panel.first="grid(8,8)"对背景线进行定义。 asp  表示y/x的纵横比。 lty   用于线条类型的定义,指定值为整数,lty="1"。                                                    lty="0"显示为空白,即无线条。                                                    lty="1"显示为实线线条。                                                    lty="2"显示为虚线线条。                                                    lty="3"显示为点状线条。                                                    lty="4"显示为点虚线线条,点和虚线线条间隔。                                                    lty="5"显示为长虚线。                                                    lty="1"显示为双破折号线条。

转录组分析中,计算了两组间差异表达的基因后,通常怎样表示?您可能第一时间想到可以使用火山图。的确,火山图是使用频率最多的,在火山图中可以很轻松地根据基因在两组间的Fold Change值以及显著性p值,识别和判断差异表达基因概况。火山图实质上就是一种散点图,通常横纵坐标分别代表了log2转化后的Fold Change以及-log10转化后的p值或p调整值信息(下图左)。提到散点图,常见的还有另一种展示差异表达基因的样式:横纵坐标轴可分别代表两组基因表达均值,这种风格可以更方便直观对比基因在两组中的差异状态。

本篇教程就让我们来学习如何绘制右图这种“对称散点图”,展示组间差异基因表达格局。

示例文件“gene_diff.txt”是一组基因差异表达分析结果,记录了处理组(treat)和对照组(control)间表达显著不一致的基因,鉴定标准为p<0.01以及|log2 Fold Change|≥1。

其中,gene_id为基因名称;control和treat代表了两组中基因的平均表达值;log2FoldChange即log2转化后的基因表达差异倍数;pvalue是差异基因显著性p值;diff为根据p<0.01以及|log2 Fold Change|≥1筛选的差异基因,该列中“up”为上调,“down”为下调,“none”为非差异基因。

接下来通过该示例文件,展示使用R语言绘制差异基因表达“对称散点图”过程。

首先对数据做一些预处理。

例如,基因表达值数量级相差过大,取个对数转换;基因名称按是否为差异基因作个排序,避免后续作图时被不显著的基因点遮盖,即排序的目的是让这些显著基因的点都位于图的上方。

下来就可以使用预处理后的数据作图了。

第一种类型是将基因按上调、下调或不显著类型着色,便于从图中辨认差异基因。我们使用ggplot2的方法绘制差异基因散点图。

两个坐标轴分别代表了处理组(treat)和对照组(control),图中的点代表各基因在两组中的平均表达值(已经作了log转换)。treat组和control组相比,上调基因以红色表示,下调基因以绿色表示。图中的虚线代表了|log2FC|=1时的阈值线。

在该图中,我们可以很轻松地观察差异基因整体分布状态和数量比较的信息。

上图中没有将p值信息展示出。因此另一种思路是,颜色代表p值,这样就可以在图中获得一个渐变梯度。同样使用ggplot2的方法绘制,和上述过程相比仅在颜色指定上存在区别。

类似上图,两个坐标轴分别代表了处理组(treat)和对照组(control),图中的点代表各基因在两组中的平均表达值(已经作了log转换),图中的虚线代表了|log2FC|=1时的阈值线。

和上图不同点在于,此时基因按显著性p值着色,从不显著>显著展示以蓝色>红色渐变,就获得了一种梯度信息。这样可以很方便地看出,在两组中的表达值差异越大的基因,p值越小,二者趋势是一致的,重在描述了差异倍数和p值的关系。

R语言有着很强大的画图功能。我们可以从下面的语句中得到

1、绘画函数

高级画图功能(创建一个新的图形)

低级绘图函数(在现有的图形上添加元素)

2、绘图参数介绍

高级绘图函数共同参数选项:

其它常用绘图参数(可以使用help(par)查看)

3、画图面板分割

在一个面板中画多张图

(1)、par中参数mfrow和mfcol

(2)、ayout函数

生成复杂的图形排列

(3)、其它函数

在一个面板中画多张图

4.图形保存

(1)输出到屏幕

windows, X11

(2)输出到文件

df , postscript , xfig, bitmap, pictex, cairo_pdf, svg, png, jpeg, bmp, tiff

通过菜单命令保存图形