生信人

找回密码
立即注册
搜索
热搜: 活动 交友 discuz
发新帖

0

收听

12

听众

279

主题
发表于 2022-9-11 21:52:31 | 查看: 652| 回复: 0
本帖最后由 生信喵 于 2022-9-14 08:42 编辑

一、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()函数运行绘图函数自带的案例数据。然后在将自己的数据结构“做成”与案例数据结构一样的即可。
  1. example(boxplot)
  2. demo (graphics)
  3. 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 绘图包含“打开绘图设备”-“绘制图形”-“关闭。
  1. #绘图设备管理函数
  2. x11()
  3. pdf()
  4. dev.list()
  5. dev.off(3)
  6. dev.list()
  7. dev.off(4)
  8. 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 的两种命令和绘图参数需结合使用。

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


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

您需要登录后才可以回帖 登录 | 立即注册

QQ|Archiver|手机版|小黑屋|生信人

GMT+8, 2024-5-7 04:06 , Processed in 0.037449 second(s), 21 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表