2013-07-22 94 views
0

我正在使用pylab並將y軸設置爲日誌刻度。我指定的Y邊界:在Python中更改日誌軸刻度的頻率

f.gca().set_ylim(10.**(-0.3),10.**(0.3)) 

但數字我得到只顯示一個刻度爲10^0: enter image description here

如何更改節拍頻率,使y軸顯示10個的蜱標籤?

回答

1
ax.locator_params(axis='y',nbins=10) 

應該這樣做

編輯:我很抱歉,那將蜱。此處的另一個問題是,有一個主要勾號和許多輕微勾號。 Matplotlib格式化主要刻度標籤,但不是次要標籤。它對你的x軸做同樣的事情,但偶然地你有4個主要的蜱。

您可以重新定義什麼是「主要」刻度(這有很多方法),或者告訴matplotlib您希望它爲次要刻度設置格式標籤。

formatter = ax.get_major_formatter() 
ax.set_minor_formatter(formatter) 

你或許可以弄清楚如何讓你看起來像你想要的。但是,如果我是你,我可能會試着去研究它認爲「主要」的蜱蟲。放大像這樣的對數座標軸會變得很笨拙,因爲與正數相比,剔號在負數方面被壓縮的更多。

+0

也許我的Python版本太舊了。當我使用它時,我得到'AttributeError:'函數'對象沒有屬性'locator_params'。 – mcglashan

+0

by'ax'我的意思是當前的'Axis'對象,你通過'gca'得到的。 – roippi

+0

對不起,我誤解了。我嘗試過,但y軸看起來仍然完全一樣。 – mcglashan