严格意义上将symbols 并不能算是一个低级的绘图函数,因为它不仅可以在一幅已经存在的图标上添加元素,还可以创建一张新的图表

鉴于它绘图时的灵活性,我把它归入到低级绘图函数中

symbols 可以创建包括圆形, 正方形,矩形,箱线图,类似温度计的图形在内的多种图形

基本用法:

通过x和y坐标指定要创建的图形的中心,对于不同的形状,设置对应的参数

需要注意的是,图形的大小默认使用的单位是inches, 为了和坐标系中的坐标保持一致,可以通过inches = FALSE 将对应的参数和坐标系保持一致

add = TRUE 运行symbols 函数作为一个低级绘图函数来使用,在一张图表上添加对应的图形

圆形:对于圆形来说,通过控制半径来控制其大小

代码示例:

plot(1:5, 1:5, type = "n", xlim = c(0, 6), ylim = c(0, 6))
symbols(x = 1:5, y = 1:5, circles = rep(1, 5), inches = FALSE, add = TRUE)

效果图如下:

正方形:对于正方形来说,设置的参数是正方形边长的1/2

代码示例:

plot(1:5, 1:5, type = "n", xlim = c(0, 6), ylim = c(0, 6))
symbols(x = 1:5, y = 1:5, squares = rep(2, 5), inches = FALSE, add = TRUE)

效果图如下:

矩形: 通过一个两列的矩阵来控制大小,第一列为宽度,第二列为长度

代码示例:

plot(1:5, 1:5, type = "n", xlim = c(0, 6), ylim = c(0, 6))
symbols(x = c(1, 4), y = c(3, 4), rectangles = matrix(c(2, 3, 3, 2), byrow = T, nrow = 2), inches = FALSE, add = TRUE)

效果图如下:

stars : 多边形,指定多边形的中心到各条边的距离,对于不同边数的多边形来说,对应的矩阵列数不同

代码示例:

par(oma = c(1, 1, 1, 1), mfrow = c(1, 3))
plot(1:5, 1:5, type = "n", xlim = c(0, 6), ylim = c(0, 6))
symbols(x = c(1, 4), y = c(3, 4), stars = matrix(rep(1, 6), ncol = 3), inches = FALSE, add = TRUE)
plot(1:5, 1:5, type = "n", xlim = c(0, 6), ylim = c(0, 6))
symbols(x = c(1, 4), y = c(3, 4), stars = matrix(rep(1, 8), ncol = 4), inches = FALSE, add = TRUE)
plot(1:5, 1:5, type = "n", xlim = c(0, 6), ylim = c(0, 6))
symbols(x = c(1, 4), y = c(3, 4), stars = matrix(rep(1, 10), ncol = 5), inches = FALSE, add = TRUE)

效果图如下:

温度计图案:通过一个列数为3或者4的矩阵来控制其大小,前两列对应图形的宽度和长度,如果矩阵只有3列,第3列是一个百分比,在该百分比对应的高度,会有填充色;如果矩阵有第4列,则在第3列和第4列对应的百分比之间会有一个填充色

代码示例:

plot(1:5, 1:5, type = "n", xlim = c(0, 6), ylim = c(0, 6))
symbols(x = 2, y = 3, thermometers = matrix(c(1, 3, 0.5), ncol = 3), inches = FALSE, add = TRUE)
symbols(x = 4, y = 4, thermometers = matrix(c(1, 3, 0.2, 0.8), ncol = 4), inches = FALSE, add = TRUE) 

效果图如下:

箱线图:通过一个列数为5的矩阵进行控制,前两列分别对应宽度和高度, 第三列和第四列对应箱线图的下限和上限,第五列为一个0到1之间的数,控制代表中位数的直线所处的位置

代码示例:

plot(1:5, 1:5, type = "n", xlim = c(0, 6), ylim = c(0, 6))
symbols(x = 3, y = 3, boxplots = matrix(c(1, 3, 0.5, 0.5, 0.4), ncol = 5), inches = FALSE, add = TRUE)

效果图如下:

fg : 设置图形边框的颜色

代码示例:

plot(1:5, 1:5, type = "n", xlim = c(0, 6), ylim = c(0, 6))
symbols(x = 3, y = 3, boxplots = matrix(c(1, 3, 0.5, 0.5, 0.4), ncol = 5), inches = FALSE, add = TRUE, fg = "red")

效果图如下:

bg: 设置图形的填充色

代码示例:

plot(1:5, 1:5, type = "n", xlim = c(0, 6), ylim = c(0, 6))
symbols(x = 3, y = 3, boxplots = matrix(c(1, 3, 0.5, 0.5, 0.4), ncol = 5), inches = FALSE, add = TRUE, bg = "red")

效果图如下:

以上的用法都是通过add = TRUE , 将symbols 函数的输出添加到一个图形上,当add = FALSE 时,symbol 函数可以创建一张新的图表

除了前面的通用参数外,在创建新图表时,还有一些额外的参数

xlim, ylim  : 设置新图表x轴和y轴的范围

代码示例:

symbols(x = 3, y = 3, boxplots = matrix(c(1, 3, 0.5, 0.5, 0.4), ncol = 5), inches = FALSE, xlim = c(0, 6), ylim = c(0, 6))

效果图如下:

xlab, ylab , main : 分别设置新图表的x轴标签,y轴标签,标题

代码示例:

symbols(x = 3, y = 3, boxplots = matrix(c(1, 3, 0.5, 0.5, 0.4), ncol = 5), inches = FALSE, xlim = c(0, 6), ylim = c(0, 6),xlab = "x lab", ylab = "y lab", main = "title") 

效果图如下:

R语言低级绘图函数-symbols的更多相关文章

  1. R语言低级绘图函数-abline 转载

    abline 函数的作用是在一张图表上添加直线, 可以是一条斜线,通过x或y轴的交点和斜率来确定位置:也可以是一条水平或者垂直的线,只需要指定与x轴或y轴交点的位置就可以了 常见用法: 1)添加直线 ...

  2. R语言低级绘图函数-grid

    grid 函数用来在一张图表上添加网格线, 基本用法:默认在添加刻度线的地方添加网格线 plot(1:5, 1:5, xlim = c(0,6), ylim = c (0,6), type = &qu ...

  3. R语言低级绘图函数-axis

    axis函数用来在一张图表上添加轴线,区别于传统的x轴和y轴,axis 允许在上,下,左, 右4个方向添加轴线 以x轴为例,一条轴线包含3个元素,水平的一条横线,叫做axis line , 刻度线, ...

  4. R语言低级绘图函数-title

    title 函数用来在一张图表上添加标题 基本用法: main 表示主标题,通常位于图像的上方, sub 表示副标题,位于图像的下方, xlab 表示x轴的标签,ylab 表示y轴的标签 par(om ...

  5. R语言低级绘图函数-text

    text函数用来在一张图表上添加文字,只需要指定对应的x和y坐标,以及需要添加的文字内容就可以了 基本用法: plot(1:5, 1:5, xlim = c(0,6), ylim = c (0,6), ...

  6. R语言低级绘图函数-rect

    rect 函数用来在一张图上添加矩形,只需要指定左下角和右上角的坐标的位置,就可以画出一个矩形 基本用法: plot(1:5, 1:5, xlim = c(0,6), ylim = c (0,6), ...

  7. R语言低级绘图函数-arrows

    arrows 函数用来在一张图表上添加箭头,只需要分别指定起始坐标和终止坐标,就可以添加箭头了,还可以通过一些属性对箭头的形状,大小进行调整 基本用法: xo, yo 指定起始点的x和y坐标,x1, ...

  8. R语言低级绘图函数-abline

    abline 函数的作用是在一张图表上添加直线, 可以是一条斜线,通过x或y轴的交点和斜率来确定位置:也可以是一条水平或者垂直的线,只需要指定与x轴或y轴交点的位置就可以了 常见用法: 1)添加直线 ...

  9. R语言低级绘图函数画个温度计

    x <- 1:2 y <- runif(2,0,100) par(mar=c(4,6,2,6)) plot(x,y,type="n",xlim=c(0.5,2.5),y ...

随机推荐

  1. 初学 Haskell 练习:算24点

    其中用到了 Monad 做不确定性计算.运行速度很快. -- woodfox, Oct 10, 2014 import Control.Applicative import Control.Monad ...

  2. 【Android】20.1 音频播放

    分类:C#.Android.VS2015: 创建日期:2016-03-11 一.简介 MediaPlayer:适合每次播放一个音频资源或者音频文件的场合. SoundPool:适合同时播放多个音频资源 ...

  3. C++ string的用法

    之所以抛弃char*的字符串而选用C++标准程序库中的string类,是因为他和前者比较起来,不必担心内存是否足够.字符串长度等等,而且作为一个类出现,他集成的操作函数足以完成我们大多数情况下(甚至是 ...

  4. ny49 开心的小明

    开心的小明 时间限制:1000 ms  |  内存限制:65535 KB 难度:4 描述 小明今天很开心,家里购置的新房就要领钥匙了,新房里有一间他自己专用的很宽敞的房间.更让他高兴的是,妈妈昨天对他 ...

  5. 使用apache服务器配置虚拟目录

    安装好了apache+php+mysql之后就像在自己电脑上安装wordpress玩玩,因为安装好之后根目录在D盘, 所以就想自己配置一个虚拟目录指向路径为D:\wordpress的wordpress ...

  6. LeetCode: Integer to Roman 解题报告

    Integer to Roman Given an integer, convert it to a roman numeral. Input is guaranteed to be within t ...

  7. LeetCode: Rotate Image 解题报告

    Rotate ImageYou are given an n x n 2D matrix representing an image. Rotate the image by 90 degrees ( ...

  8. FreeRTOS 低功耗之停机模式

    以下转载自安富莱电子: http://forum.armfly.com/forum.php STM32F103 如何进入停机模式在 FreeRTOS 系统中,让 STM32 进入停机模式比较容易,调用 ...

  9. python的一些科学计算的包

    在安装numpy这类科学计算的包的时候,pip下载的东西有时候缺少一些东西. 可以到这里下载,根据提示信息,少哪个包,或者哪个包出现错误就安装哪个包. PIL到这里下载

  10. dp之二维背包hdu3496

    题意:给你n张电影门票,但一次只可以买m张,并且你最多可以看L分钟,接下来是n场电影,每一场电影a分钟,b价值,要求恰好看m场电影所得到的最大价值,要是看不到m场电影,输出0: 思路:这个题目可以很明 ...