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
转换为弧度
通过一段很长的 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
转换为弧度