簡體   English   中英

在R中畫圓弧度

[英]Draw Radians/Degrees in Circle in R

我很難生成一個圓的X,Y坐標,然后繪制線段。 基本上我想做的是從圓心到圓外以完美的間距繪制360線。 這是我目前正在執行的操作,但無法正常工作。 如果有其他方法可以做到,那么效果也很好! 我也希望0度從圓的左側開始。

t <- seq(0,2*pi,length=360) 
coords <- t(rbind( sin(t)*127.28125, cos(t)*127.28125)) 
plot(coords,type='n',xlim=c(-63.625625,63.625625),ylim=c(0,127.28125)) 
lines(coords)

deg=data.frame(coords[,1],coords[,2])
head(deg)
deg$count=1
deg$degree=1

for(i in 1:nrow(coords)){
if(deg$count[i]<=270){
deg$degree[i]=i-1+90-45
} else {
deg$degree[i]=i-1-270-45
}
}

names(deg)[1] <- "X"
names(deg)[2] <- "Y"

i=1
for(i in 1:19){
segments(0,0,deg$X[deg$degree==((5*(i-1)))],deg$Y[deg$degree==((5*(i-1)))])
cat(((5*(i-1))),'\t')
}

更新:

我在繪制線條的地方遇到一些問題。 基本上,當我們繞圓旋轉時,誤差會變大,因此當pi / 2弧度發生並且直線上升時,該值稍微位於x = 0的右側。 這可能無法實現,但我想請教一下是否有解決方法! 45 90和135應該都匹配。

圖形

這個怎么樣

th <- seq(0, 2*pi, length.out=360)
r <- 2
x <- r*cos(th)
y <- r*sin(th)

plot(x,y, type="n")
segments(0,0,x,y)

基本上,我在極空間中選擇thr並轉換為笛卡爾坐標。

在此處輸入圖片說明

如果要從左側的0開始,請使用

    x <- -r*cos(th)

代替。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM