R语言基础绘图

2022-10-25 19:54:14 浏览数 (2)

一、R 语言绘图系统介绍

R 语言具有强大的绘图功能,可以满足科研绘图的需求,越来越多的文章中采用 R 语言来进行绘图。按照绘图方式,R 语言可以分为四大绘图系统,分别是:1、R 基础绘图系统,2、Grid 绘图系统,3、lattice 绘图,4、ggplot2 绘图。除此之外,R 还有非常多的扩展包,几乎可以完成任何形式的绘图要求,无论是 2D 绘图还是 3D 绘图。最新的 shinny 包,还可以绘制交互式的绘图操作。

1.1 成竹在胸

苏轼有云,“故画竹,必先得成竹於胸中”。这句话对于 R 语言绘图也同样适用。也就是我们在进行画图之前,心里应该清楚我们要画的图大概是什么样子。比如描述数据分布的,可以用散点图,直方图,热图,表现数据各部分百分比,可以用条形图,饼图,韦恩图,展示变化趋势可以用折线图等。

数据可视化:https://www.data-to-viz.com/

R 绘图合集:https://www.r-graph-gallery.com/

1、分布:散点图,密度图,直方图,直方图,小提琴图等

2、关系型:散点图,热图,相关性,气泡图等

3、变化趋势:条形图,雷达图,星云图,玫瑰风向图等

4、整体部分:堆叠(分组)条形图,饼图,树形图等

5、进化:折线图,面积图,时间序列图等;

R 绘图导图

1.2 数据维度

对于 R 语言绘图来说,最重要的其实是数据,也就是数据结构。每一个函数都有固定的数据结构要求,所以在画图之前必须了解数据的维度,是一维数据还是二维数据还是多维数据,以及是连续数据,还是分类数据。不同类型以及不同维度的数据采用不同的展现模式。一般来说,数据的维数越高,展示起来越复杂。一维数据比较容易,一般常用点图,线图,饼图等来展示。二维数据一般是矩阵,可以使用热图,条形图的等。对于多维数据,一般采用多种元素来展现,例如,同一个点,可以通过点的大小对应(映射)数据大小,点的颜色,形状对应分类数据。

1.3 绘图获取帮助

R 语言有非常完善的帮助系统,一般的绘图函数都有详细的帮助文档以及案例数据,可以通过 R 自带的案例数据进行学习。了解每个函数所需数据结构。此外,可以通过 example()函数运行绘图函数自带的案例数据。然后在将自己的数据结构“做成”与案例数据结构一样的即可。

代码语言:javascript复制
example(boxplot)
demo (graphics)
demo(persp)

1.4 绘图设备

默认 R 绘图展示在绘图窗口中,可以直接显示,可以通过设置修改默认绘图设备。绘图设备也称为图形设备” (Devices),指的是一个绘图的窗口或文件。默认的绘图设备为屏幕显示,也可以直接保存为文件,不同的文件类型属于不同的绘图设备。R 支持的常用的绘图设备有以下几种:

R 绘图设备

分类

R绘图设备

含义描述

屏幕显示

X11

X 窗口/图形界面窗口

文件设备

postscript

ps 格式的矢量图文件

pdf

pdf 格式的矢量图文件

png

png 格式文件

jpeg

jpg 格式的位图文件

在各种 R 的绘图设备中,最常用的为 X11 和 pdf,X11 在绘图调试过程中非常方便,不用每次打开绘图文件,属于边绘图边查看的方式,所见即所得,这种交互式的方式适合调整图形,例如修改不同的绘图选项参数。在确定最终绘图方式并生成图形文件进行保存时,推荐使用pdf 格式,因为 R 绘制的 pdf 图形为矢量图, pdf 通用性较强,便于后期调整。绘制 pdf 图形的函数为 pdf() 。

R 绘图包含“打开绘图设备”-“绘制图形”-“关闭。

代码语言:javascript复制
#绘图设备管理函数
x11()
pdf()
dev.list()
dev.off(3)
dev.list()
dev.off(4)
dev.list()

当绘图函数开始执行时,如果没有打开绘图设备,那么 R 将打开一个绘图窗口来展示这个图形,默认打开的就是 X11 窗口,也可以使用命令 x11() 来直接打开一个绘图窗口。R 可以同时打开多个绘图设备,最近打开的设备将作 为绘图时使用的设备,随后的所有图形都将在这上面显示。函数 dev.list() 可以显示所有打开的设备列表。dev.list() 显示出的数字是设备的编号,要改变或关闭某一设备需使用这些编号,如使用dev.off(3) 关闭的 是编号为 3 的 windows 绘图设备,当前使用的是编号为 4 的 pdf 绘图设备。

二、高级绘图与低级绘图

R 的基础绘图来自于 R 的 graphics 包,是随 R 默认安装的,基础绘图可以完成一些常见的图形。按是否能够自动创建新的图形,R 的绘图函数可以分为两类——高级绘图函数和低级绘图函数。高级绘图函数可以创建一个新的图形,低级绘图函数是在现有的图形上添加元素。

基础绘图主要绘制一些二维图形,例如点图,线图,直方图,饼图,条形图等,很多情况下,这些图形使用 Excel 绘制更加容易,但是基础绘图是学习 R 绘图思想的基石,熟练掌握这些函数的使用,也可以绘制出满足文献出版要求的图形。

R 的绘图参数(graphical parameters)是控制绘图选项的,可以使用默认值、可以在绘制图形时进行修改,也可以使用 par 函数进行修改。一般的,使用高级绘图命令绘制图形的框架,使用低级绘图命令对图形进行补充。另外,R 的绘图参数是对图 形进行个性化修饰和调整的,R 的两种命令和绘图参数需结合使用。

代码语言:javascript复制
par()$ylbias
par('mfrow') #布局
opar <- par(no.readonly = TRUE)
par(mfrow=c(2,2))
par(opar)#恢复默认的绘图参数

写在最后:有时间我们会努力更新的。大家互动交流可以前去论坛,地址在下面,复制去浏览器即可访问,弥补下公众号没有留言功能的缺憾。原地址暂未启用(bioinfoer.com)。

代码语言:javascript复制
sx.voiceclouds.cn

有些板块也可以预设为大家日常趣事的分享等,欢迎大家来提建议。

0 人点赞