本文主要介绍R中的各种图形绘制方法。如果想要具体了解,可在R中输入demo(graphic)或者demo(persp)查看。绘图函数需要将图输出到绘图设备上,绘图设备的形式有很多种,可以是窗口,可以是写入一个jpeg、bmp、tiff等图片文件格式,具体可用help(device)查看。

  1. 打开多个绘图设备

    前面已经提到,绘图设备有多重,如果是R中的窗口,可以用函数x11()来打开窗口,虽然x11是在linux下的叫法,但是在windows中也可以用该函数,当然也可以用windows打开;另外如果要打开不同的图形文件设备,可以用jpeg()/bmp()、tiff()等函数打开不同类型的文件设备。dev.list()可返还当前打开的所有的图形设备。dev.cur()返回当前的图形设备,还有dev.set(number)用于激活相应的图形设备,dev.next(),dev.prev()用于切换。dev.off()用于关闭当前设备,这个函数可以指定设备号来关闭,比如dev.off(1);用graphic.off()可以关闭所有的设备。

  2. Graphic的分割

    下面介绍的几个函数可以实现graphic的分割功能,但是这些都不是兼容的(即不能同时使用)。

    Screen

    用x11()等函数打开图形设备之后,就可以使用相应的screen函数了。split.screen(c(2,2))该函数用于将screen分成2行2列,标识符按行分别从1到2*2标记,参数向量用于指定每个screen的标识符,注意不能分割太多,会造成图画不下的情况。split.screen(c(1,2), screen=2)可以将子screen再次进行分割,screen这个参数用于指定需要再次分割的标识符。screen(2)用于选中标识符为2的子屏幕,以后的画图函数都在2这个子屏幕中生效,如果2这个子屏幕中已经被画过了,它会清空已经画过的。如果不想清空,只需 screen(2, FALSE)即可。erase.screen(n=) 用于清空指定标识符上的图形。close.screen(n, all.screens =FALSE) 关闭屏幕,相当于清空了标识符,因此再也不能定位到相应的屏幕了。
    

    Layout:

    相比screen函数,还有一个Layout,比screen更加灵活(理论上可以设置出任意的布局),也更加方便。layout(mat, widths, heights):
    mat用于划分整个布局,如果mat中两块数字相同,则布局显示时候会将那两块显示在一起。Widths和heights都是一个向量,长度分别与列数和行数相同,用来表示每一块列或者行的相对长度。如果要用绝对的,可用lcm(5)这个函数,返回5cm。layout.show(n)用来显示子窗口的个数。在画图的时候,Layout中默认是bycolonm的,即画图时候,先画a[1,1].再a[1,2],再a[2,1]a[2,2],如果要a[1,1]之后是a[1,2],只要在matrix这个参数中指定byrow=TRUE即可。
    
  3. 绘图函数

    高级绘图函数:

    mat <- matrix(c(1:4), 2, 2)
    layout(mat)
    plot(1:10)
    text(5, 5, labels = “plot(1:10)”)
    plot(1:10, cos(1:10))
    text(5, 5, labels = “plot(1:10, cos(1:10))”)
    sunflowerplot(1:10, 1:10)
    pie(c(0.1, 0.2, 0.3, 0.4))
    x11()
    layout(mat)
    boxplot(1:10)
    stripchart(1:10)
    x = 1:10
    y = 3:12
    z = x + y
    coplot(x~y|z)

  4. 绘图参数

    绘图参数可以作为图形函数的参数来指定相应的属性,这里来介绍方法par()。
    Par这个函数有如下参数,可以修改图形中的不同的属性:

    绘图参数和低级作图函数使我们可以进一步改善图形。前面我们已经看到,一些绘图参数不允许作为plot这样的函数的自变量。我们可以用par()来修改这些参数,这样就必须输入多行的命令。在改变绘图参数时,预先保存它们的初始值以便以后恢复十分有用,如下:

opar <- par()
par(bg="lightyellow", col.axis="blue", mar=c(4, 4, 2.5, 0.25))
plot(x, y, xlab="Ten random values", ylab="Ten other values",xlim=c(-2, 2), ylim=c(-2, 2), pch=22, col="red", bg="yellow",bty="l", tcl=-.25, las=1, cex=1.5)
title("How to customize a plot with R (bis)", font.main=3, adj=1)
par(opar)

R语言的graphics画图功能相关推荐

  1. R语言ggplot2 | 循环画图及导出

    ggplot2循环绘图 ggplot2的单次展示 ggplot2的循环画图    展示数据的方式有很多,图形无疑是最佳的方法之一,因为图形能更直观地展示数据的变化规律.ggplot2是R语言绘图功能最 ...

  2. R语言绘图——Graphics包

    先给出一下参考说明: R绘图 http://www.cnblogs.com/holbrook/archive/2013/05/13/3075777.html R语言中颜色对照表 http://wenk ...

  3. r语言 四格画图_R语言画多组数据相关性分析图

    相关性表示两组数据之间的关系是否"相似"或"相近":但当遇到多组数据时,如何直观的比较各组数据之间的相关性是一个大家比较关注的问题,相关图可以通过对相关系数矩阵 ...

  4. r语言 四格画图_临度科研|数据统计的理解和运用(四)列联表之卡方检验

    今天我们来介绍非参数检验--迷人的卡方检验(Chi-Square test/Chi-Square Goodness-of-Fit Test). 卡方检验是一种用途很广的计数资料的假设检验方法.它属于非 ...

  5. R语言的graphics功能(画图)

    找了好久,终于找到了画各种统计图的画图工具,那就是R,本文主要介绍R中的各种图形绘制方法.R中有非常强大的绘图功能,本文也不能一一列举,如果想要具体了解,可在R中输入demo(graphic)或者de ...

  6. r语言 四格画图_R绘图基础(一)

    R绘图的布局排版 之前提到,mfrow,mfcol只能是矩阵式的布局,如果我们需要简单地实际不规则的布局,怎么办呢?强大的layout(),split.screen()专门用于布局.有资料提到&quo ...

  7. R语言利用ggplot画图时调整坐标轴字体大小

    利用ggplot画好图,并把它插入到论文中后,你会发现默认的字体大小12pt太小了,与 LATEX \LaTeX中图的caption大小不匹配,为此,你需要在利用ggplot画图的时候一开始就要调整到 ...

  8. R语言之plot()画图

    plot函数 点线结构参数 操作示例 符号参数 操作示例 连线类型参数 操作示例 线的宽度参数 操作示例 颜色参数 操作示例 添加文本 操作示例 指定坐标轴范围 操作示例 点线结构参数 在plot函数 ...

  9. R语言基础篇-----画图

    plot函数Usage: dose <- c(20,30,40,45,60) drug <- c(16,20,27,40,60) drug1 <- c(15,18,25,31,40) ...

最新文章

  1. helm部署仓库中没有的包_Kubernetes的Helm软件包管理器简介
  2. 文件上传与下载【目前仅仅实现了上传功能】
  3. Openlayers中使用Cluster实现缩放地图时图层聚合与取消聚合
  4. 每天读5分钟,受益匪浅、
  5. SAP License:企业高管眼中的信息化是“万能”的
  6. 优秀的CSS布局大全
  7. Excel VBA实现 通过文件名查找全路径
  8. lambda表达式_C++11的lambda表达式递归
  9. 按键精灵怎么用 android,按键精灵安卓版怎么用
  10. Android APP开发入门教程
  11. 计算机维护维修教学反思,图说计算机硬件维护教学反思
  12. 制作桌面进制转换(二进制,八进制,十进制,十六进制)小工具 Python学习日记 2.28~3.6
  13. rest_framework学习之解析器(Parsers)
  14. 【C++学习笔记】类型转换和跳转语句
  15. 数据库mysql的基本操作命令(全)
  16. mac电脑无法识别移动硬盘怎么解决?看过来!
  17. PostgreSQL 14 版本发布,快来看看有哪些新特性!
  18. android游戏备份农场,真实农场模拟
  19. 字符串排序-C语言实例
  20. Linux下搭建SFTP服务器

热门文章

  1. Spring——Spring两大特性:IOC+AOP
  2. oracle基本参数调整优化
  3. 大师如何炼成 罗杰斯“不从众”的成功之道
  4. LYOI 78 小澳的葫芦
  5. flutter填坑之旅(环境搭建篇--mac系统)
  6. August 16th Thursday (八月 十四日 木曜日)
  7. 原来BIOS放电是要在断电的情况下进行的
  8. 人工智能机器人专业就业前景怎样
  9. C++程序设计:考研路茫茫——早起看书
  10. Java web----多表查询