我正在用matplotlib繪圖。代碼是下面的(變量容器具有值)當用matplotlib繪圖時,更改刻度標籤的位置(移動)
cmap = mpl.colors.ListedColormap(['darkblue', 'blue', 'lightblue','lightgreen','yellow','gold','orange','darkorange','orangered','red'])
bounds=[0, 10,20,30,40,50,60,70,80,100,200,1000]
norm = mpl.colors.BoundaryNorm(bounds, cmap.N)
img2 = plt.imshow(zvals,interpolation='nearest',
cmap = cmap,
norm=norm,
origin='lower')
xlocations = na.array(range(30)) + 0.5
xticks(xlocations, [str(x+1) for x in arange(30)], rotation=0, size=5)
gca().xaxis.set_ticks_position('none')
gca().yaxis.set_ticks_position('none')
grid(True)
這導致下面的圖片: http://imageshack.us/a/img145/7325/histogrammoverview.png
我想移動xticks(1,2,3的標籤,.. )左邊一點,所以它們在相應的顏色框下面。相應地,我還想將yticks(user1和user2)的標籤向下移動一點,以使它們正確顯示。如何才能做到這一點?
編輯:作爲事實上我可以改變以下行 xlocations = na.array(範圍(30))+ 0.5 到 xlocations = na.array(範圍(30))
然後得到的圖片是這樣的: http://imageshack.us/a/img338/7325/histogrammoverview.png
請看看網格是「通過」彩色框,這不是我想要的。如上圖所示,我希望網格邊框彩色框。在這個版本中,雖然標籤(1,2,3,...)正確放置在盒子下面。我怎樣才能正確地放置標籤(在彩色框下面)和圍繞彩色框而不是通過彩色框中間的網格。
SOLUTION
使用這種解決方案(通過答案的建議):
periods = 30
xlocations = na.array(range(periods))
xminorlocations = na.array(range(periods))+0.5
xticks(xlocations, [str(x+1) for x in arange(periods)], rotation=0, size=5)
plt.set_xticks(xminorlocations, minor=True)
grid(True, which='minor', linestyle='-')
結果:hxxp://imageshack.us/a/img9/7325/histogrammoverview.png
耶這工作。 代碼我使用: 'xlocations = na.array(範圍(週期)) xminorlocations = na.array(範圍(週期))+ 0.5 xticks(xlocations,[STR(X + 1)中的x (真實的,其中='minor',linestyle =' - ')' 結果:http://www.microsoft.com/downloads/details.aspx? //imageshack.us/a/img9/7325/histogrammoverview.png – beta