2017-03-29 164 views
3

我正在嘗試創建一個具有徑向軸的天文極座標圖,該座標軸從外線上的-45°開始,並在圖的中心增加到90°。但我沒有找到任何方法來反轉PolarAxes實例的徑向軸。 invert_yaxis()方法根本不起作用。此外,還有一些隱藏方法,如ax.set_rlim()沒有任何文檔。Matplotlib極座標圖的反徑向軸

這裏是我當前的代碼:

fig = plt.figure() 
ax = fig.add_axes([0.1,0.1,0.8,0.8], polar=True) 
# ax.invert_yaxis() 
ax.set_theta_zero_location('N') 
ax.set_ylim(-45, 90) 
ax.set_yticks(np.arange(-45, 90, 15)) 
ax.plot(ras, decs, linestyle='', marker='.') 

和我的陰謀

+0

看到這個問題的答案:http://stackoverflow.com/questions/12075001/set-radial-axis-on-matplotlib-polar-plots – Craig

回答

1

這是一個有點「哈克」,但如果你知道的範圍(這好像你做因爲它對應於赤緯),你可以做類似的事情:

import matplotlib.pyplot as plt 
import numpy as np 

fig = plt.figure() 
ax = fig.add_axes([0.1,0.1,0.8,0.8], polar=True) 
# ax.invert_yaxis() 
ax.set_theta_zero_location('N') 
ax.set_rlim(90, -45, 1) 
# Note: you must set the end of arange to be slightly larger than 90 or it won't include 90 
ax.set_yticks(np.arange(-45, 91, 15)) 
ax.set_yticklabels(ax.get_yticks()[::-1]) 
ax.plot([0,10,20], 90-np.array([12,13,14]), linestyle='', marker='.') 
fig.show() 

enter image description here

+0

它看起來不錯,但實際的軸仍然是相同的 - 看看價值。所以我們也需要轉換它們。 –