matplotlib set_rmax 和 set_rticks 不工作

matplotlib set_rmax and set_rticks not working

我在 anaconda jupyter notebook 中使用 python3 并在极坐标中绘制图形。我希望所有图表都具有相同的 rmax 和 rticks,但是当我设置它们时,它们没有被应用并且点没有被正确绘制。这是我的代码,先不加,然后加。

%pylab inline
X = asarray([[0.23, 0.73],[0.22, 1.16],[0.18, 1.86],[0.17, 2.39],[0.24, 2.74],[0.16, 3.43],[0.16, 3.87],[0.13, 4.39],[0.14, 5.00],[0.17, 5.53]])

ax0 = subplot(111, projection='polar')
ax0.plot(X[:,1], X[:,0], 'r+')
show()

ax1 = subplot(111, projection='polar')
ax1.set_rmax(0.8)
ax1.set_rticks([0.2, 0.4, 0.6, 0.8])
ax1.plot(X[:,1], X[:,0], 'r+')
show()

这是情节。

问题是您首先设置 rmax 然后绘制极坐标图。所以一旦你绘制,限制就会自动调整,你的设置 rmaxrticks 会被覆盖。

解决方法是绘图然后然后设置rmaxrticks如下图所示。

ax1 = plt.subplot(111, projection='polar')
ax1.plot(X[:,1], X[:,0], 'r+')
ax1.set_rmax(0.8)
ax1.set_rticks([0.2, 0.4, 0.6, 0.8])