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

Python中的极坐标图看起来很奇怪,python,python-3.x,matplotlib,plot,polar-coordinates,Python,Python 3.x,Matplotlib,Plot,Polar Coordinates,通过一长段Python代码,我获得了两个数组:phi(包含0,1,2,…,360)和F 如果我在笛卡尔图中绘制F与φ,只需使用以下两个说明: plt.plot(phi,F) plt.show() 我得到下面的图表 但是,如果我尝试使用以下代码在极坐标图中绘制它: plt.polar(phi,F) plt.show() 我得到下面的图表 最后一个不是我所期望的。我期待的是一个嘈杂的周长,因为F与phi的笛卡尔图显示了一个嘈杂的行为,平均值为-0.8 我希望得到与此图类似的(具有不同的值,因

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

如果我在笛卡尔图中绘制F与φ,只需使用以下两个说明:

plt.plot(phi,F)
plt.show()
我得到下面的图表

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

plt.polar(phi,F)
plt.show()
我得到下面的图表

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

我希望得到与此图类似的(具有不同的值,因为它引用了其他变量):

更新1:根据@luuk的建议,我已经将φ从度转换为弧度。现在我得到了这个结果

更新2:更改RLIM(从-2设置为0.1)后,图片如下所示

这仍然很奇怪,因为图形中有一个填充圆。你知道我该如何删除它(如果它只是因为太密集的线)

更新3:

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


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

phi
转换为弧度。请注意,笛卡尔图中的y值的范围大于0。您看到的极坐标图是可以预期的。也许你想对这些值进行低通过滤,使其不是0.8+-1.0,而是0.8+-0.1谢谢你的建议。我看到我的图表中有一个错误。现在我已经正确地更新了它们,虽然现在的情节不同,但是问题仍然是一样的。你看到的是一个振荡圆周——半径在1.6到0之间。因为这些线是如此的密集,以至于它们填满了图中间的所有像素。