R语言低级绘图函数-symbols
严格意义上将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的更多相关文章
- R语言低级绘图函数-abline 转载
abline 函数的作用是在一张图表上添加直线, 可以是一条斜线,通过x或y轴的交点和斜率来确定位置:也可以是一条水平或者垂直的线,只需要指定与x轴或y轴交点的位置就可以了 常见用法: 1)添加直线 ...
- R语言低级绘图函数-grid
grid 函数用来在一张图表上添加网格线, 基本用法:默认在添加刻度线的地方添加网格线 plot(1:5, 1:5, xlim = c(0,6), ylim = c (0,6), type = &qu ...
- R语言低级绘图函数-axis
axis函数用来在一张图表上添加轴线,区别于传统的x轴和y轴,axis 允许在上,下,左, 右4个方向添加轴线 以x轴为例,一条轴线包含3个元素,水平的一条横线,叫做axis line , 刻度线, ...
- R语言低级绘图函数-title
title 函数用来在一张图表上添加标题 基本用法: main 表示主标题,通常位于图像的上方, sub 表示副标题,位于图像的下方, xlab 表示x轴的标签,ylab 表示y轴的标签 par(om ...
- R语言低级绘图函数-text
text函数用来在一张图表上添加文字,只需要指定对应的x和y坐标,以及需要添加的文字内容就可以了 基本用法: plot(1:5, 1:5, xlim = c(0,6), ylim = c (0,6), ...
- R语言低级绘图函数-rect
rect 函数用来在一张图上添加矩形,只需要指定左下角和右上角的坐标的位置,就可以画出一个矩形 基本用法: plot(1:5, 1:5, xlim = c(0,6), ylim = c (0,6), ...
- R语言低级绘图函数-arrows
arrows 函数用来在一张图表上添加箭头,只需要分别指定起始坐标和终止坐标,就可以添加箭头了,还可以通过一些属性对箭头的形状,大小进行调整 基本用法: xo, yo 指定起始点的x和y坐标,x1, ...
- R语言低级绘图函数-abline
abline 函数的作用是在一张图表上添加直线, 可以是一条斜线,通过x或y轴的交点和斜率来确定位置:也可以是一条水平或者垂直的线,只需要指定与x轴或y轴交点的位置就可以了 常见用法: 1)添加直线 ...
- 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 ...
随机推荐
- java读取url中json文件中的json数据
有时候需要远程从其他接口中获取json数据,如果遇到返回的json数据是一个文件而不直接是数据,那么可以通过以下方法进行读取: /** * 从数据接口获取到数据 * @return * @throws ...
- mysql-5.7 group commit 详解
一.mysql group commit 的官方定义: InnoDB, like any other ACID-compliant database engine, flushes the redo ...
- [svc]linux日志和安全日志
last详解: http://www.cnblogs.com/kerrycode/p/4223751.html
- python __slots__使用详解
1.动态添加属性 class Lang(object): def __init__(self,name,score): self.name=name self.score=score def lang ...
- 每日英语:Best Ways to Ramp Up to A Marathon
For the record number of American runners who completed an official race event last year, the questi ...
- In search of the perfect URL validation regex
To clarify, I’m looking for a decent regular expression to validate URLs that were entered as user i ...
- Oracle PLSQL Demo - 16.弱类型REF游标[没有指定查询类型,已指定返回类型]
declare Type ref_cur_variable IS REF cursor; cur_variable ref_cur_variable; rec_emp scott.emp%RowTyp ...
- 使用codedom 编写脚本解释器
本篇博客的目的是为了保存例子,怕自己忘记. private void dd(string code) { string path = "BonkerSpace"; if (File ...
- 使用jquery插件validate制作的表单验证案例
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- js修改input的type属性问题(兼容所有浏览器,主要用于密码类的默认有提示文字的效果)
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/stri ...