2015-10-06 99 views
0

我是matplotlib的新手,並使用它來繪製直方圖。數據是這樣的:操縱軸的比例尺

y_axis=[82.34,0.009,0.1,1.45,0.01] 
x_axis=[0.1,0.2,0.3,0.4,0.5] 

問題是,當我繪製它,y軸值一樣0.009和0.01不會出現在圖形,它們看起來是0,所以是有辦法來操縱軸刻度爲特定的範圍。就像0和1之間的滴答差異是0.1的係數,但是對於高於1的範圍,滴答之間的距離是10.

基本上我正在尋找一種方法來操縱軸的縮放比例,以便您有兩種不同的縮放比例特定軸。

回答

0

它聽起來像你想要一個對數的尺度。有幾種方法可以做到這一點。一種方法是使用plt.semilogy

import matplotlib.pyplot as plt 

y_data = [82.34,0.009,0.1,1.45,0.01] 
x_data = [0.1,0.2,0.3,0.4,0.5] 

plt.semilogy(x_data,y_data,'bo-') 

plt.show() 

enter image description here

或者你可以把你的情節與plt.plot,然後用Axes.set_yscale('log')設置yaxis到日誌規模後:

plt.plot(x_data,y_data,'bo-') 
plt.gca().set_yscale('log')