如何从SciPy中的给定数据设置numpy.arange的值?

时间:2017-08-10 14:18:36

标签: python numpy matplotlib scipy

我必须在代码中手动设置x(此处为50到500)的范围:

data = plb.loadtxt('data.txt')  
x = data[:,0]
y= data[:,1]
cs = UnivariateSpline(x, y)
xs = np.arange(50, 500, .1)
plt.plot(x, y, label='A')
plt.plot(xs, cs(xs), label="B")
plt.xlim(50, 500)

如何编写np.arangeplt.xlim以获取数据集(从文件中读取)给出的x的最低和最高值?

1 个答案:

答案 0 :(得分:3)

您可以使用np.minnp.max

import numpy as np

x_min = x.min()   # or np.min(x)
x_max = x.max()   # or np.max(x)

xs = np.arange(x_min, x_max+0.1, .1)

plt.xlim(x_min, x_max)

需要+0.1,因为np.arange中已排除停止值。

注意:如果您想要完整扩展值,通常不需要手动设置xlim。我相信默认xlim已经使用了x值的minmax(可能有点修改)。