R语言基础图形元素--多边形
简介
在R语言中,绘制多边形是非常方便的,一般使用的是polygon()
函数,矩形的绘制可以通过rect()
函数完成。多边形可以设置填充色等。
1. rect()
函数
绘制矩形。
用法
rect(xleft, ybottom, xright, ytop, density = NULL, angle = 45,
col = NA, border = NULL, lty = par("lty"), lwd = par("lwd"),
...)
- 矩形函数的前四个参数用于确定左下角和右上角的坐标
- density 参数设置阴影线的填充密度(每英寸填充多少条线),默认值NULL表示不绘制阴影线。density值为0意味着没有阴影线,当 density 被设置为负数或 NA 或 NULL 时 col 参数才可以填充整个区块颜色。
- angle 参数设置填充线条的角度。
- col 参数设置填充颜色。
- border 参数设置边框颜色,值为NA或者NULL时无边框。
- lty/lwd 参数在此不再赘述。
示例
plot(2:8,2:8,type = "n")
rect(2,2,4,4,density = 10,border = "red",angle = 30,lwd = 1)
rect(4,4,6,6,density = 10,border = "green",angle = 30,lwd = 2)
rect(6,6,8,8,density = 10,border = "blue",angle = 30,lwd = 3)
2. polygon()
函数
绘制多边形。
用法
polygon(x, y = NULL, density = NULL, angle = 45,
border = NULL, col = NA, lty = par("lty"),
..., fillOddEven = FALSE)
x,y参数设置点的坐标,其他参数类似于rect()
函数。
示例
op <- par(mfrow = c(2, 1))
plot(c(1, 9), 1:2, type = "n")
polygon(1:9, c(2,1,2,1,1,2,1,2,1),
col = c("red", "blue"),
border = c("green", "yellow"),
lwd = 3, lty = c("dashed", "solid"))
plot(c(1, 9), 1:2, type = "n")
polygon(1:9, c(2,1,2,1,NA,2,1,2,1),
col = c("red", "blue"),
border = c("green", "yellow"),
lwd = 3, lty = c("dashed", "solid"))
par(op)
从上面的例子可以看出,通过设置缺失值,可以将图形分割为不同的区域。
3. 综合使用示例
set.seed(123)
x <- rnorm(30) # 产生 30 个正态随机数
plot(x, xlab = "", type = "l") # plot函数绘制线条
polygon(c(1, 1:30, 40), c(0, x, 0), col = "red") # 绘制多边形
xy <- par()$usr # 获取当前图形区域坐标范围
rect(xy[1], xy[3], xy[2], 0, col = "gray") #将0以下区域覆盖为灰色
lines(x) # 重画一遍 x 的线条
abline(h = 0, col = "blue",lwd = 4) # 添加水平线
4. box()
函数
为整幅图形添加边框。
用法
box(which = "plot", lty = "solid", ...)
which 参数是一个字符串,取值为"plot", “figure”, “inner” 和"outer"其中一个;lty 参数不再赘述。
示例
plot(1:7, 1:7,type = "l", axes = FALSE)
axis(1, at = 1:7, labels = letters[1:7])
box(lty = '1373', col = 'red',lwd = 2)
多边形的介绍到此为止,有兴趣大家可以进行探索。欢迎大家留言讨论,感谢支持!
- ##侵权请联系作者删除!
参考书籍
[1] 现代统计图形