4
我有我使用繪製填充等高線圖下面的Python代碼:繪圖點增加了大量的空白
def plot_polar_contour(values, azimuths, zeniths):
theta = np.radians(azimuths)
zeniths = np.array(zeniths)
values = np.array(values)
values = values.reshape(len(azimuths), len(zeniths))
r, theta = np.meshgrid(zeniths, np.radians(azimuths))
fig, ax = subplots(subplot_kw=dict(projection='polar'))
ax.set_theta_zero_location("N")
ax.set_theta_direction(-1)
cax = ax.contourf(theta, r, values, 30)
autumn()
cb = fig.colorbar(cax)
cb.set_label("Pixel reflectance")
show()
這讓我像一個情節:
然而,當我剛剛show()
之前添加一行ax.plot(0, 30, 'p')
我得到以下幾點:
似乎只是將一個點(這在原始軸範圍內)加上了半徑軸上的軸範圍。
是這個設計,還是這個錯誤?你會建議如何解決它?我是否需要手動調整軸範圍,還是有辦法停止額外的繪圖命令?
將'ax.autoscale(False)'放在'ax.countourf'之後但在'ax.plot'之前是[另一個選項](http://stackoverflow.com/a/9120929/190597)。 – unutbu 2012-02-21 16:07:44
謝謝。使用'scalex = False'和'scaley = False'解決了這個問題,但是我更喜歡使用'ax.axis('tight')',因爲它更清潔一點,但我無法讓它工作。我應該在哪裏打電話給'ax.axis('tight')'?我曾嘗試在調用'ax.plot'之前和之後調用'ax.contourf'之前和之後。有任何想法嗎? – robintw 2012-02-21 16:10:19
@unutbu:謝謝,這工作得很好,比其他一些選項更明顯。 – robintw 2012-02-21 16:11:56