r语言参数fig=c(),干货︱R语言绘图—基础图形参数整理

继上一期的文章【干货丨零基础学习 R 语言?】小编在介绍了R语言基础入门(包括R的安装和载入、数据导入和导出方法等),在这一期小编继续为你挖掘R语言的巧妙用处,跟大家探讨如何创建和保存图形,如何修改图形中的特征如标题、坐标轴等。

Part 1

创建和保存图形

R是个图形构建平台,通常我们在交互式会话中可通过逐条输入语句构建图形,逐渐完善图形特征,直到获得自己想要的结果。例如,

第一句先绑定了数据框,第二句生成了一幅散点图,第三句向图形添加一条最优拟合曲线。第四句添加标题。第五句为数据框解除绑定。

所以,在R中,图形通常是以这种交互式的风格绘制的。

1d5c369cd01f0cd813199f0e6cdce59d.png

如果要通过代码保存图形,将绘图语句夹在开启目标图形设备的语句和关闭目标设备的语句之间即可。例如:

除了用pdf()外,还可使用函数win.metafile()、png()、jpeg()、tiff()、xfig()和postscript()将图形保存为其他格式。

我们通过执行一些高级绘图命令(如plot()、hist()、boxplot())创建一幅新图形时,通常会覆盖先前的图形,那怎样才创建多个图形并随时查看每一个呢?有两种方法。

第一种方法,在创建一幅新图形前打开一个新图形窗口。

第二种方法,使用函数dev.new()、dev.next()、dev.prev()、dev.set()、dev.off()同时打开多个图形窗口,并选择将哪个输出发送到哪个窗口中,这种方法适用于全平台。

R将在保证用户输入最小化的前提下创建尽可能美观的图形,不过我们仍然可使用图形参数指定字体、颜色、线条类型、坐标轴、参考线和标注。

Part 2

修改图形参数

当我们用R创建了一个新图形后,就可修改图形参数来自定义一幅图形的多个特征,如字体、颜色、坐标轴等。

修改图形参数的一种方法是通过函数par()来指定这些选项。调用格式如下:

不加参数的话,执行par()会生成一个含有当前图形参数设置的列表。

添加参数no.readonly=TRUE会生成一个可修改的当前图形参数列表。

如,在一幅折线图上,假如我们想用实心三角作为点的符号,并且用虚线代替实现连接这些点。可用以下代码:

结果如图所示:

f6cf7adc75fa2e3f945a7215bdce8fdd.png

2.1

符号和线条

以下图形参数可指定绘图时使用的符合和线条类型。

下图是参数pch可指定的绘图符号

5d26881ab8c22c4bc57c9ec0c6b77905.png

对于○◇△▽□符号,可指定边界颜色col=和填充色bg=

下图是参数lty可指定的线条类型

7be558aee74b974cd8f6c6d390165c03.png

2.2

颜色

下表显示用于指定颜色的参数

在R中,可通过颜色下标、颜色名称、十六进制的颜色值、RGB值或HSV值来指定颜色。

例如,col=1、col=”white”、col=”#FFFFFF”、col=rgb(1, 1, 1)、col=hsv(0, 0, 1)都是表示白色的等价方式。

函数rgb()基于红—绿—蓝三色值生成颜色,hsv()基于色相—饱和度—亮度值来生成颜色。

2.3

文本属性

图形参数也可用来指定字号、字体和字样。

以下是用于指定文本大小的参数:

以下是用于指定字体族、字号、字样的参数:

例如,执行这语句命令:

创建的所有图形都会带有斜体、1.5倍于默认文本大小的坐标轴标签名称,以及粗斜体、2倍于默认文本大小的标题。我们可轻松设置字号和字体样式。

如果设置字体族就稍显复杂,因serif、sans和mono字体的具体映射是与图形设备相关。在windows系统中,mono字体映射为TT Courier New,serif字体映射为TT Times New Roman,sans字体映射为TT Arial。(TT表示True Type)。执行family=”serif”参数就能获得以上这些映射。若执行windowsFont()则创建新的映射,可这样执行语句:

在mac系统上创新新映射则用quartzFonts()。

对于以PDF格式输出图形,用names(pdfFonts())找出系统中有哪些字体可用,再用pdf (file=”myplot.pdf”, family=”fontname”)来生成图形。

2.4

图形尺寸与边界尺寸

下面列出的参数来控制图形尺寸和边界大小。

我们来看这组代码:

可生成一幅4英寸高、3英寸高、上下边界为1英寸、左边界为0.5英寸、右边界为0.2英寸的图形。

现在我们了解完如何在R修改图形参数,下面我们来了解一下自定义文本标注和坐标轴。

Part 3

添加文本、自定义坐标轴和图例

其实还有很多高级绘图函数(plot、hist、boxplot)可以自定义坐标轴和文本标注选项。

例如,下面代码在图形上添加了标题、副标题、坐标轴标签,还指定坐标轴范围。

结果如图所示:

f085c8aa07360b5974e7f32fa7ae345c.png

其实,某些高级绘图函数已包含了默认的标题和标签。我们可通过在plot()语句或单独的par()语句中添加ann=FALSE来移除它们。

3.1

标题

我们可用title()函数为图形添加标题和坐标轴标签。

函数title()中可指定其他图形参数(文本大小、字体、旋转角度、颜色)。

3.2

坐标轴

我们可用函数axis()创建自定义的坐标轴,

自定义坐标轴的参数如下:

如果创建自定义坐标轴时,就应当禁用高级绘图参数自动生成的坐标轴。

axes=FALSE禁用全部坐标轴,包括坐标轴框架线

xaxt=”n”和yaxt=”n”分别禁用X轴或Y轴,只去除刻度,保留框架线。

如要创建次要刻度线,我们需要使用Hmisc包中的minor.tick()函数。

安装Hmisc包所需使用的代码:

nx和ny分别指定X轴和Y轴每两条主刻度线之间通过次要刻度线划分得到的区间个数。

tick.ratio表示次要刻度线相对于主刻度线的大小比例。

3.3

参考线

abline()用来为图形加上参考线。也可指定线条类型、颜色和宽度。

3.4

图例

有时候我们创建一个图形时数据不止一组,那这时就需要用图例辨别每个条形、扇形区域或折线各代表哪一类数据。我们使用legend()加上图例。

用于表示图例的参数如下:

3.5

文本标注

我们可通过函数text()和mtext()将文本添加到图形上。

我们来看这个示例:

在这里,我们针对数据框mtcars提供的32种车型的车重和每加仑汽油行驶英里数绘制散点图,text()用于在各个数据点右侧添加车辆型号。各点的标签大小缩小了40%,颜色是红色。

dcdbe5fdb78246594d93d79a1c8fbe1e.png

Part 4

组合图形

在R中使用par()或layout()可容易组合多幅图形为一幅图。

我们可在par()函数中使用图形参数mfrow=c(nrows, ncols)来创建按行填充的、行数为nrows、列数为ncols的图形矩阵。或者还可用nfcol=c(nrows, ncols)按列填充矩阵。

例如,我们用下面代码创建四幅图形并将它排列在两行两列中。

结果如图所示:

4f54d948359dc2fc5644ccd58ddf6222.png

函数layout()的调用形式是layout(mat),mat是个矩阵,它指定了所要组合的多个图形的所在位置。例如,

7733ab6fa5c8b67e09348c3c647405d5.png

为了要精确控制每幅图形大小,可选择地在layout()函数中使用widths=和heights=两个参数。

相对宽度可直接通过数值指定,绝对宽度(以厘米为单位)可通过函数lcm()来指定。

有时候,你想通过排布或叠加若干图形来创建单幅的、有意义的图形,这就要需要对图形布局进行控制。我们可以用图形参数fig=完成,我们来看看这个例子。

93db455b6a9509e3b5e620bd1f9a00bf.png

931716ce446d637e6767b194e1dc4631.png

bd80f4365d53b199dcabb0418e484953.png

END

结语

以上介绍了用R创建图形和保存图形的方法和用R语言修改默认图形的方法,同时也介绍了如何在图形添加标题、文本等。对于生信小白来说,要勤加练习,通过各种各样方法灵活实现不同的可视化效果。在下一期小编将介绍R语言的统计函数应用,欢迎大家继续关注本公众号。

希望我们分享的文章能帮助你发表更多SCI论文。如果你有疑问,欢迎在下面评论区留言。

温馨提示

如果你喜欢本文,请分享到朋友圈,想要获得更多信息,请关注我。

南博屹相伴,科研不孤单

RECOMMEND

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值