如何从图中提取点?

时间:2017-10-11 07:05:25

标签: python python-3.x matplotlib scipy

import matplotlib.pyplot as plt

x = [1,2,3,4,5,6]
y = [1,3,6,8,14,20]

plt.plot(x,y)

plt.show()

输出: enter image description here

上面的情节有不同的斜率,我想从图中得到100个点,任何人都可以帮我找点吗?

1 个答案:

答案 0 :(得分:2)

为了在曲线上找到100个点,您必须插入数据。一种方法是使用scipy.interpolate.interp1d,可以找到文档here

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

x =[1,2,3,4,5,6]
y = [1,3,6,8,14,20]

f = interpolate.interp1d(x,y)
xnew = np.linspace(x[0],x[-1],100)

plt.plot(x,y,'o')
plt.plot(xnew, f(xnew))

plt.show()

为了检查你有100分:

print (xnew.shape)
print (f(xnew).shape)
#(100,)
#(100,)

enter image description here