x / y轴的比例和点和窗口的自动缩放

时间:2015-09-15 23:32:29

标签: python matplotlib plot

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)有时会隐藏一些点或将第一个点缩小一半(所以只显示了一半)。

如果你能帮助我解决这个问题会很棒。如前所述:我有谷歌它,但它没有工作。我尝试过:

  • xlim和ylim强制绘图用1e-X和1e + X
  • 缩放
  • 使用自动缩放让图表更好地缩放图表

希望你能帮帮我吗?

亲切的问候!非常感谢你!

Plot Scale Power of 10

1 个答案:

答案 0 :(得分: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