Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/github/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
python,从一行中提取特定值_Python_Plot_Line - Fatal编程技术网

python,从一行中提取特定值

python,从一行中提取特定值,python,plot,line,Python,Plot,Line,我有一个简单的问题,我很难解决。 如何从直线中提取xy值? 例如,在这一行: import matplotlib.pyplot as plt fig = plt.figure() ax = fig.add_subplot(111) x1 = [0.1,0.12,0.13,0.18,0.2,0.25,0.27,0.29] y1 = [1,2,3,4,5,6,7,8] ax.plot(x1, y1, color='lightblue',linewidth=3) 对于不存在的x,如何提取y1的值,例

我有一个简单的问题,我很难解决。 如何从直线中提取xy值? 例如,在这一行:

import matplotlib.pyplot as plt
fig = plt.figure()
ax = fig.add_subplot(111)
x1 = [0.1,0.12,0.13,0.18,0.2,0.25,0.27,0.29]
y1 = [1,2,3,4,5,6,7,8]
ax.plot(x1, y1, color='lightblue',linewidth=3)
对于不存在的x,如何提取y1的值,例如,对于x=0.23?
在直线上画一个点?

最简单的方法是简单的线性插值

给定一个与现有数据集类似的数据集,可以使用numpy的插值功能查找直线内的任意点

例如,给定您现有的代码:

import numpy as np
x1 = [0.1,0.12,0.13,0.18,0.2,0.25,0.27,0.29]
y1 = [1,2,3,4,5,6,7,8]
x = 0.23
y = np.interp(x, x1, y1)
请参见此处有关numpy.interp的文档:


如果你想变得更有趣,scipy.interpolate.interp1d功能会有点复杂,但它提供了外推等选项,以及比线性插值更高级的直线拟合方法。请参阅此处的文档:

最简单的方法是简单的线性插值

给定一个与现有数据集类似的数据集,可以使用numpy的插值功能查找直线内的任意点

例如,给定您现有的代码:

import numpy as np
x1 = [0.1,0.12,0.13,0.18,0.2,0.25,0.27,0.29]
y1 = [1,2,3,4,5,6,7,8]
x = 0.23
y = np.interp(x, x1, y1)
请参见此处有关numpy.interp的文档:

如果你想变得更有趣,scipy.interpolate.interp1d功能会有点复杂,但它提供了外推等选项,以及比线性插值更高级的直线拟合方法。请参见此处的文档: