在向审稿人或导师展示统计分析结果时,一张图表往往胜过千言万语。当你刚接触数据时,图表还可以帮助您发现数据中的潜在模式或异常值。每个示例都显示了绘图在数据分析中的重要性。R 在这方面非常出色!
本教程的重点是R中处理图形的一般方法,包括创建和保存图形、修改图形特征、图形处理的一些一般方法(后面我们会针对具体类型的图形进行讲解)以及图形组合的各种方法。
一开始,在这个教程里,我们会通过测试数据一步步带领大家绘制和美化图形。内容比较多,请大家一定要静下心来学习。
温馨提示
1. 本节包含许多重点。
始终遵循红色标志。
2. 测试数据及代码
见文末客服小姐姐二维码。
1. 图形的创建和保存
我们先来看一下如何在 R 中创建和保存图形。下面的例子有点难,但这只是给你举个例子。你可以尝试下面的代码,最终结果应该如图 2 所示。
图 1:示例代码 1
图 2:示例 1 创建的图表
上面的代码首先绑定了mtcars数据框(不用担心,你没有这个数据框),plot()打开一个图形窗口并绘制散点图,abline()添加最佳拟合曲线,然后给图形添加标题并解除数据框的绑定。
在R中可以通过代码或者图形界面来保存图形,通过代码保存图形的方法如下:
图3:示例代码2
除了使用pdf()函数另存为pdf文件外,还可以使用png()、jpeg()、bmp()、tiff()、xfig()等函数另存为其他格式(建议另存为pdf文件,因为pdf是矢量图文件,方便后续的编辑修改),使用方法比较简单,就不一一列举了。
图形界面的保存方法相信就不用我介绍了,你只要在窗口中试着找到有“另存为”或者“导出”或者“导出”字样的按钮就可以了,这里就不举例了。
了解了图形的创建和保存方法之后,下面我们从一个简单的例子开始,逐一介绍图形绘制的各个参数。
2. 一个简单的例子
图4:演示数据
考虑上述数据,它描述了患者对两种药物 A 和 B 的五种剂量水平的反应。首先,您可以创建一个描述剂量和药物 A 反应之间关系的图表。
图5:示例代码3
图6:剂量与药物反应的关系
plot() 函数是 R 中为对象绘制图形的一个非常重要的通用函数,可以通过查看该函数的帮助文档来了解其详细参数,下面我们重点讲解如何修改图形的外观。
修改图形参数的方式有两种,一是通过 par() 函数指定图形参数来定义图形特征,二是直接将 optionname=value 键值对提供给 plot() 函数或其他高级绘图函数。
图7:示例代码4
大家可以自己尝试一下以上两种方法,看看生成的图形与图6有何不同。
如上例所示,图形参数可以控制图形的特性,用于指定符号和线型的参数有pch、cex、lty、lwd。
参数pch用于指定绘制点时使用的符号,其值如下:
图8:参数pch。
参数cex指定符号的大小,cex为数值,默认大小为1,当cex=0.5时表示缩小为默认值的0.5倍,参数lty用于指定想要的线型,参数lwd指定线的宽度,默认为1,lwd=2则画出默认宽度两倍的线。
大家可以尝试看看下面这张图是如何通过参数设置进行调整的(答案在文章最后,问庞宇老师)。
图9:你可以尝试一下如何实现这个效果。
到目前为止r软件教程pdf,我们的图形都是黑白的,那么为什么不给它们添加颜色呢?图形中有很多地方可以着色。下表列出了一些常用的“着色”参数。
表 1:“着色”参数
R 中指定颜色的方式有很多种,例如 col=1、col="white"(直接使用颜色的英文名称)、col="#FFFFFF"(RGB 十六进制颜色代码)、col=rgb(1,1,1) 和 col=hsv(0,0,1) 都是表示白色的等效方式。建议初学者使用前两种(即通过颜色下标或名称指定颜色)。函数 colors() 返回所有可用颜色的名称。这里有一张 R 中颜色的优秀图表:~frazier/RSpatialGuides/colorPaletteCheatsheet.pdf
(之前有人推荐过这个,但是这个链接已经失效了,如果有同学还有这个图表的话,可以分享给大家)。
R 中有很多“着色”函数,包括 rainbow()、heat.colors()、terrain.colors()、topo.colors() 和 cm.colors()。还有一些流行的“着色”函数:函数包,例如 RColorBrewer。
图形参数还可以指定字体大小、字体、字型。参数cex和font可以分别控制文字大小和字体。文本参数的设置方法与上例中的参数设置方法类似r软件教程pdf,如下表所示:
表 2:文本参数
图形绘制完成后,还有一个重要但容易被忽略的步骤,就是给图形添加图例、注释、标题等。否则,谁知道你的图形到底是要表达什么呢?例如,下面的代码给图形添加了标题、副标题、轴标签、轴范围等。
图10:示例代码5
图 11:示例代码 5 的结果
首先,您可以使用 title() 函数为图表添加标题和轴标签。例如:
title(main="主标题", sub="副标题", xlab="x 轴标签", ylab="y 轴标签")
axis() 函数用于创建自定义坐标轴。
abline() 函数可用于为图形添加参考线(示例将在下面的图形中展示)。legend() 函数用于添加图例。以下是结合上述函数绘制的图形。
图 12:添加图例的示例图
由于篇幅有限,我就不直接贴代码了,有兴趣的可以问Pangyu小姐姐要代码!
有时我们需要在图形中添加文本或数字,这在许多绘图软件中很难实现,但对于 R 来说这很容易。 可以帮助我们解决这个问题。下面是一个使用 mtcars 数据框的示例。
图 13:文本注释示例
最后,图形绘制还有一个重要的参数,就是图形大小和边框大小。参数pin、mai、mar就是用来控制这两个特性的。下面是一个例子:
图 14:图形尺寸控制
这两个图形在一张图里,并不是PS或者美图秀秀的效果,这涉及到下一个教程要讲的图形合并问题。
由于篇幅有限,以下图片的代码就不直接贴出来了,建议大家直接联系客服小姐姐获取。
概括
R语言画图没什么特别难的,只要用脑子,把函数和参数记熟就行了,记住一句话:编程不会弄坏电脑,别把电脑当成娇生惯养的花草,多练习多练习才能记的深刻。另外根据我多年教学经验,课程越学落后的人越多,所以对于还在坚持的人,继续加油~
本期亮点
·
!R语言入门绘图代码!
资源获取方式新规则
关注ScienceCat公众号并在后台回复关键字“R7”即可获取该文章链接,获取后请尽快保存或收藏,避免链接过期。
下一条推文预览
绘制基本图形