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"但它并没有改变任何东西。
我希望拥有的是,我可以强制绘图显示例如2-3.2,并且在角落中将有1e + 3并且类似于x轴。如果可能的话,10的力量也会很好。
我的第二个缩放问题:我使用过自动缩放,但是它没有做任何事情?遗憾的是,情节会自动缩放,因此它a)不会填充最佳情节; b)有时会隐藏一些点或将第一个点缩小一半(所以只显示了一半)。
如果你能帮助我解决这个问题会很棒。如前所述:我有谷歌它,但它没有工作。我尝试过:
希望你能帮帮我吗?
亲切的问候!非常感谢你!
答案 0 :(得分:0)
xlim
和ylim
加入数据,您应该使用autoscale(True, tight=True)
set_powerlimits
功能。以下是您的代码的更新版本:
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()