2017-10-10 1340 views
1

我試圖用Matplotlib繪製一個圖,但是我在調​​整兩個軸間隔之間的距離時遇到了問題。我寫了一個非常簡單的代碼,如一個by ubuntu同時調整x軸和y軸間隔的距離

import numpy as np 
import matplotlib.pyplot as plt 
x = [0,5,9,10,15] 
y = [0,1,2,3,4] 
plt.plot(x,y) 
plt.xticks(np.arange(min(x), max(x)+1, 1.0)) 
plt.yticks(np.arange(min(y), max(y)+1, 1.0)) 
plt.show() 

我得到這個plot。我想知道是否有辦法同時編程y軸和x軸間的距離。我需要根據間隔距離同時調整xticks和yticks之間的距離,而不是單獨調整軸。在這裏,我需要將第一個繪圖更改爲如此的新繪圖one。儘管在第一個繪圖中,xticks和yticks之間的距離都是1.0,但我們可以看到y軸上的距離更長,而x軸上的距離更短。我需要y軸和x軸距離彼此相似。例如,如果xticks之間的間隔是1.0並且yticks是2.0,那麼yticks之間的間隔比xticks獲得兩倍的距離。有沒有人有解決這個問題的方法?

+0

https://matplotlib.org/faq/howto_faq.html#make-the-aspect-ratio-for-plots-等於 – tom

回答

2

使用方法set_aspect可以覆蓋軸的縱橫比。在你的情況,你想要的縱橫比爲1

x = [0,5,9,10,15] 
y = [0,1,2,3,4] 
plt.plot(x,y) 
plt.xticks(np.arange(min(x), max(x)+1, 1.0)) 
plt.yticks(np.arange(min(y), max(y)+1, 1.0)) 
ax = plt.gca() # gets the active axis 
ax.set_aspect(1) 
plt.show() 

enter image description here

+0

這工作得很好,謝謝! – sara