2014-02-14 165 views
2

我正在使用(也許是濫用?)極座標圖來表示我擁有的某些數據。我希望將當前位於x軸上方的標籤放在數據段的上方。所以在軸之間。python matplolib極座標圖x軸標籤位置

我發現有關如何旋轉所有內容的多篇文章,但它始終將標籤保留在軸的上方。

代碼的和平我有一個軸(如果你需要全高清/代碼,請說出來):

# Set axis names and orientation 
ax.set_theta_zero_location("N") 
ax.set_xticklabels(['Seg 1', 'Seg 2', 'Seg 3', 'Seg 4', 'Seg 5', 'Seg 6', 'Seg 7', 'Seg 8']) 
ax.set_ylim((0, 10.0)) 
ax.set_rgrids([5,10], angle=22) 

當前圖像它產生:

enter image description here

現在我想將標籤'Seg 1','Seg 2'等從軸移動到軸之間的右側。

有沒有辦法做到這一點?

回答

2

您可以通過輕微的刻度設置標籤,但隨後設置次刻度寬度爲零,所以你沒有看到他們這樣做:

 
import matplotlib.ticker as ticker 

# Set the major and minor tick locations 
ax.xaxis.set_major_locator(ticker.MultipleLocator(np.pi/4)) 
ax.xaxis.set_minor_locator(ticker.MultipleLocator(np.pi/8)) 

# Turn off major tick labels 
ax.xaxis.set_major_formatter(ticker.NullFormatter()) 

# Set the minor tick width to 0 so you don't see them 
for tick in ax.xaxis.get_minor_ticks(): 
    tick.tick1line.set_markersize(0) 
    tick.tick2line.set_markersize(0) 
    tick.label1.set_horizontalalignment('center') 

# Set the names of your ticks, with blank spaces for the major ticks 
ax.set_xticklabels(['','','Seg 1','','Seg 2','','Seg 3','','Seg 4','','Seg 5','','Seg 6','','Seg 7','','Seg 8'],minor=True) 
+0

謝謝!它立刻在我自己的電腦上運行。但是,當我在遠程站點上嘗試時,它沒有。沒有錯誤,但標籤沒有移動。在matplotlib更新之後,它的工作就像一個魅力。所以這似乎只適用於以後的版本?還是我真的有舊版本? –