Python 如何在通过将txt文件加载到scipy程序而形成的绘图上以特定间隔插入点?

Python 如何在通过将txt文件加载到scipy程序而形成的绘图上以特定间隔插入点?,python,matlab,numpy,matplotlib,interpolation,Python,Matlab,Numpy,Matplotlib,Interpolation,我有一个文本文件,有两列,x和y。我已经用下面的scipy程序绘制了它们,如下所示 import matplotlib.pyplot as plt with open("data.txt") as f: data = f.read() data = data.split('\n') x = [row.split(' ')[0] for row in data] y = [row.split(' ')[1] for row in data] fig = plt.figure()

我有一个文本文件,有两列,x和y。我已经用下面的scipy程序绘制了它们,如下所示

import matplotlib.pyplot as plt


with open("data.txt") as f:
    data = f.read()

data = data.split('\n')

x = [row.split(' ')[0] for row in data]
y = [row.split(' ')[1] for row in data]


fig = plt.figure()
ax1 = fig.add_subplot(111)

ax1.set_title("Plot B vs H")    
ax1.set_xlabel('B')
ax1.set_ylabel('H')

ax1.plot(x,y, c='r', label='the data')

leg = ax1.legend()

plt.show()

现在我想知道如何在同一个图形上以大约0.1的增量在
x=1
x=5
之间插入几个点?

您可以使用以下方法创建函数:

如果要平滑数据,可以使用,只需将
f=interpolate…
行替换为:

f = interpolate.UnivariateSpline(x, y)
要更改平滑程度,可以使用
s
k
选项:

f = interpolate.UnivariateSpline(x, y, k=3, s=1)

中所述,非常感谢。它真的帮助了我。
f = interpolate.UnivariateSpline(x, y, k=3, s=1)