Python 中的极坐标图看起来很奇怪

Polar plot in Python looks quite strange

通过一段很长的 Python 代码,我得到了两个数组:phi(包含 0,1,2,...,360)和 F.

如果我在笛卡尔图中绘制 F 与 phi 的关系,只需使用以下两条指令:

plt.plot(phi,F)
plt.show()

我得到下图。

但是,如果我尝试使用以下代码将其绘制在极坐标图中:

plt.polar(phi,F)
plt.show()

我得到下图。

最后一个出乎我的意料。我期待类似嘈杂的圆周,因为 F 与 phi 的笛卡尔图显示了平均值为 -0.8 的嘈杂行为。

我期待得到与此图相似的东西(具有不同的值,因为它指的是其他变量):

更新 1:正如@luuk 所建议的,我已将 phi 从度数转换为弧度。现在我得到了这个结果。

UPDATE2:更改rlims(从-2设置为0.1)后,图片看起来像这样

还是奇怪,图表里面有一个实心圆圈。你知道我该如何删除它吗(如果只是因为线条太密)?

更新 3:

如果我用点绘制它('.i' in plot)我得到一个合理的情节。但是,如果可能的话,我更希望得到一个带有线条的图。

正如您从 Polar Demo 中看到的那样,plt.polar() 期望 theta 参数以弧度为单位(定义域为 [0, 2π]),而不是以度为单位。通过乘以 np.pi/180.

phi 转换为弧度