簡體   English   中英

如何在R中繪制極坐標?

[英]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.

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