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

时间:2021-01-05 22:53:39

标签: python python-3.x matplotlib plot polar-coordinates

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

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

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

我得到以下图表。

enter image description here

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

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

我得到以下图表。

enter image description here

最后一个不是我所期望的。我期待像嘈杂的圆周,因为 F 与 phi 的笛卡尔图显示了一个噪声行为,平均值为 -0.8。

我希望得到与此图相似的东西(具有不同的值,因为它指的是其他变量): enter image description here

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

enter image description here

UPDATE2:改变rlims后(从-2设置为0.1),图片是这样的

enter image description here

这还是很奇怪,因为图中有一个实心圆。你知道我怎样才能去掉它(如果只是因为线条太密)?

更新 3:

如果我用点(图中的'.i')绘制它,我会得到一个合理的图。但是,如果可能的话,我更愿意用线条绘制一个图。

enter image description here

1 个答案:

答案 0 :(得分:0)

Polar Demo 中可以看出,plt.polar() 期望 theta 参数以弧度为单位(域 [0, 2π]),而不是以度为单位。通过乘以 phinp.pi/180 转换为弧度。