繁体   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