[英]How to plot polar coordinates in R?
假設(x(t),y(t))具有極坐標(√t,2πt)。 繪圖(x(t),y(t))為t∈[0,10]。
R中沒有適當的功能用極坐標繪圖。 我通過給出x =√t&y =2πt嘗試了正常的情節。 但結果圖並不像預期的那樣。
我從“使用r進行科學編程和模擬的介紹”中得到了這個問題,書中說的是情節應該是螺旋式的。
制作一個序列:
t <- seq(0,10, len=100) # the parametric index
# Then convert ( sqrt(t), 2*pi*t ) to rectilinear coordinates
x = sqrt(t)* cos(2*pi*t)
y = sqrt(t)* sin(2*pi*t)
png("plot1.png");plot(x,y);dev.off()
這不顯示順序字符,因此添加行以連接序列中的相鄰點:
png("plot2.png");plot(x,y, type="b");dev.off()
正如之前評論中已經提到的,R可以使用極坐標進行繪圖。 封裝plotrix有一個名為polar.plot的函數可以做到這一點。 極坐標由長度和角度定義。 該函數可以采用一系列長度和一系列角度來繪制極坐標。 例如,制作一個螺旋:
library(plotrix)
plt.lns <- seq(1, 100, length=500)
angles <- seq(0, 5*360, length=500)%%360
polar.plot(plt.lns, polar.pos=angles, labels="", rp.type = "polygon")
一個值得一試的選擇,它是Plotly包。
library(plotly)
p <- plot_ly(plotly::mic, r = ~r, t = ~t, color = ~nms, alpha = 0.5, type = "scatter")
layout(p, title = "Mic Patterns", orientation = -90)
注意:如果您使用的是RStudio,則繪圖將顯示在“查看器”選項卡中。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.