【发布时间】:2011-12-12 01:33:15
【问题描述】:
我正在尝试从 pylab 绘图函数中获取栅格化线数据。我的代码是这样的:
fitfunc = lambda p, x: p[0] + p[1] * sin(2 * pi * x / data[head[0]].size + p[2])
errfunc = lambda p, x, y: fitfunc(p, x) - y
data = np.genfromtxt(dataFileName, dtype=None, delimiter='\t', names=True)
xAxisSeries =linspace(0., data[head[0]].max(), data[head[0]].size)
p0 = [489., 1000., 9000.] # Initial guess for the parameters
p1, success = optimize.leastsq(errfunc, p0[:], args=(xAxisSeries, data[head[1]]))
time = linspace(xAxisSeries.min(), xAxisSeries.max(), 1000)
plotinfo = plot(time, fitfunc(p1, time), 'r-')
我想从 plotinfo 获取 x 和 y 线数据。当我使用“type(plotinfo)”时,plotinfo 是一个列表,但是当我使用“print plotinfo”时,它是一个 2dlist 对象。
【问题讨论】:
-
(time,fitfunc(p1,time))不是您要查找的(x,y)数据吗?或者你想要它在 pylab 图形的像素坐标中吗?还是别的什么? -
如果我理解正确,你想要插值数据吗?
-
你可以从你的函数中得到你想要的每一个点,为什么要使用插值?如果你想插值使用:np.interp(new_x, old_x, old_y)
标签: python matlab numpy scipy matplotlib