2015-09-15 90 views
0
import numpy as np 
import matplotlib.pyplot as plt 
from scipy import stats 

x=np.linspace(2.0, 3.0, num=100)*1e-5 
y=np.linspace(2.0, 3.0, num=100)*1e3 

slope, intercept, r_value, p_value, std_err = stats.linregress(x,y) 
predict_y = intercept + slope * x 

plt.plot(x,y,'go') 
plt.plot(x, predict_y, 'k-') 
plt.legend(('data', 'line-regression'), 'upper left') 
plt.autoscale(True) 
plt.grid(True) 
plt.show() 

正如您在我的情節中所看到的:軸比例是恐怖的。我不知道如何改變它。 Of cause I've searched for help, but this example doesn't work for me。我試圖製作一個「ylim」,「xlim」,但它不會改變任何東西。x/y軸的比例和自動縮放點和窗口的比例

我很想擁有的是,我可以強制劇情顯示,例如從2-3.2,並在角落將有一個1e + 3和類似的X軸。如果可能的話,十的力量也會很好。

而我的第二個縮放問題:我用過自動縮放,但它就像什麼都不做?可悲的是,情節是自動縮放的,所以它a)不能使情節最優化,並且b)有時隱藏一些點或將第一點減半(因此只顯示一半)。

如果你能幫我解決這個問題,那將是非常好的。如前所述:我有谷歌它,但它沒有奏效。我曾嘗試:

  • XLIM和ylim給力的劇情用1E-X擴展和1E + X
  • 使用自動縮放,讓我

希望打印比例圖更好你可以幫助我?

親切的問候!並且非常感謝你提前!

Plot Scale Power of 10

回答

0

這裏是你的代碼的更新版本:

import numpy as np 
import matplotlib.pyplot as plt 
from scipy import stats 

x=np.linspace(2.0, 3.0, num=100)*1e-5 
y=np.linspace(2.0, 3.0, num=100)*1e3 

slope, intercept, r_value, p_value, std_err = stats.linregress(x,y) 
predict_y = intercept + slope * x 

plt.plot(x,y,'go') 
plt.plot(x, predict_y, 'k-') 
plt.legend(('data', 'line-regression'), 'upper left') 
plt.autoscale(True, tight=True) 
plt.gca().get_xaxis().get_major_formatter().set_powerlimits((-3, 3)) 
plt.grid(True) 
plt.show() 

enter image description here