Matplotlib 中的极坐标图未居中

Polar plot in Matplotlib not centered

出于某些原因,当我尝试使用以下代码绘制 (theta = 0, r = 0) 时:

import matplotlib.pyplot as plt

plt.polar(0, 0, marker='x')
plt.show()

该点未居中:

我能够在我的计算机和 Repl.it 上多次重现此错误:Link

那么,我怎样才能使极坐标图居中,以便 x 显示在它的中心?

它是 "centered",但半径从负值开始,在您的情况下约为 -0.04。在你画出你的观点后尝试设置 rmin

import matplotlib.pyplot as plt

ax = plt.subplot(111, projection='polar')
ax.plot([0], [0], marker = 'x')
ax.set_rmax(5)
ax.set_rmin(0)
plt.show()

这给出了一个小 x 恰好在半径为 5 的圆的中间。

如果您绘制具有许多有趣值的多个点,通常不会出现此问题,因为它会将半径范围设置为更合理的默认值。

这不是错误,您只需设置 r 轴的限制即可:

ax.set_rlim(0,2)

这给出了正确的结果