2016-07-28 61 views
2

我在python中使用matplotlib.pyplot來繪製我的數據。問題是它生成的圖像似乎是自動調整的。我該如何關閉這個功能,以便當我在(0,0)處繪製一些東西時,它會被固定在中心位置?如何在matplotlib.pyplot中關閉自動縮放

+0

的可能的複製[在matplotlib中設置y軸限制](http://stackoverflow.com/questions/3777861/setting-y-axis-limit-in-matplotlib) – SiHa

+0

它不是。這是關於自動縮放。 –

回答

0

您可以使用xlim()ylim()來設置限制。如果你知道從你的數據去,說-10至20的X和Y上-50至30日,你可以這樣做:

plt.xlim((-20, 20)) 
plt.ylim((-50, 50)) 

,使0,0居中。

如果你的數據是動態的,你可以嘗試讓起初自動縮放,但隨後設定的範圍是包容性:

xlim = plt.xlim() 
max_xlim = max(map(abs, xlim)) 
plt.xlim((-max_xlim, max_xlim)) 
ylim = plt.ylim() 
max_ylim = max(map(abs, ylim)) 
plt.ylim((-max_ylim, max_ylim)) 
4

你想要autoscale功能:

from matplotlib import pyplot as plt 

# Set the limits of the plot 
plt.xlim(-1, 1) 
plt.ylim(-1, 1) 

# Don't mess with the limits! 
plt.autoscale(False) 

# Plot anything you want 
plt.plot([0, 1])