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] 现代统计图形

  • 0
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值