R语言绘制五角星并调整范围到2.2-15

本文介绍如何使用R语言绘制五角星,并通过代码调整五角星的分布范围,使其位于x, y坐标轴的2.2到15之间。

代码示例

r <- sin(0.1*pi) / cos(.2*pi)#五角星短轴的长度

x <- matrix()
y <- matrix()

for ( i in 1:10){
  if( i %% 2 == 1)
  {
    k = (i+1)/2
    x[i] <- cos((0.5 + k * .4) * pi)
    y[i] <- sin((0.5 + k * .4) * pi)
  }
  
else if(i %% 2 == 0)
  {
    k = i/2
    x[i] <- (r * cos((0.7 + k * .4 ) *pi))
    y[i] <- (r*sin((0.7 + k * .4 ) *pi))
  }
}
x <- (x * 6.4) + 8.8 # 将x的范围由[-1,1]变为[2.2,15]
y <- (y * 6.4) + 8.8 # 将y的范围由[-1,1]变为[2.2,15]
plot(x, y, xlab = '', ylab = '', 
     xlim = c(2.2, 15), 
     ylim = c(2.2, 15),
     axes = T, type = 'o')
polygon(x, y, col = 'transparent', border = 'black', lwd = 1.5) #为五角星填充颜色
text(x, y, labels= LETTERS[1:10], pos=1)

代码解释

  1. 计算五角星短轴长度:

r <- sin(0.1pi) / cos(.2pi)


2. **创建x和y坐标矩阵:**
   ```r
x <- matrix()
y <- matrix()
  1. 循环计算五角星顶点坐标:

for ( i in 1:10){ if( i %% 2 == 1) { k = (i+1)/2 x[i] <- cos((0.5 + k * .4) * pi) y[i] <- sin((0.5 + k * .4) * pi) }

else if(i %% 2 == 0) { k = i/2 x[i] <- (r * cos((0.7 + k * .4 ) pi)) y[i] <- (rsin((0.7 + k * .4 ) *pi)) } }


4. **调整x和y的范围:**
   ```r
x <- (x * 6.4) + 8.8 # 将x的范围由[-1,1]变为[2.2,15]
y <- (y * 6.4) + 8.8 # 将y的范围由[-1,1]变为[2.2,15]
  1. 绘制五角星:

plot(x, y, xlab = '', ylab = '', xlim = c(2.2, 15), ylim = c(2.2, 15), axes = T, type = 'o') polygon(x, y, col = 'transparent', border = 'black', lwd = 1.5) #为五角星填充颜色 text(x, y, labels= LETTERS[1:10], pos=1)


通过以上代码,我们成功绘制了一个五角星,并将其分布范围调整到x, y坐标轴的2.2到15之间。

原文地址: https://www.cveoy.top/t/topic/lQcy 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录