我正在尝试使用 R 绘制半圆。我的最终目标是绘制一个圆,中间按颜色划分。我发现的唯一方法是绘制两个不同颜色的半圆。
所以我创建了自己的函数:
upper.half.circle <- function(x,y,r,nsteps=100,...){
rs <- seq(0,pi,len=nsteps)
xc <- x+r*cos(rs)
yc <- y+r*sin(rs)
polygon(xc,yc,...)
}
lower.half.circle <- function(x,y,r,nsteps=100,...){
rs <- seq(0,pi,len=nsteps)
xc <- x-r*cos(rs)
yc <- y-r*sin(rs)
polygon(xc,yc,...)
}
然而,出于某种原因,我的半圆最终更像是半椭圆。例如,尝试运行:
plot(1, type="n",axes=F,xlab="", ylab="",xlim=c(0,200),ylim=c(0,200))
upper.half.circle(15,170,10,nsteps=1000,col='red')
有谁知道我为什么遇到这个麻烦,或者知道有更好的方法来做我想做的事?
谢谢!
最佳答案
问题是默认的纵横比不是 1:1。
要解决此问题,请设置 asp=1
在 plot
:
灵感来自 this问答。您可以通过打开轴和 x/y 标签来嗅出这种情况。
关于r - 在 R 中绘制半圆,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31538534/