在pyqtgraph

时间:2015-08-04 06:50:56

标签: python pyqt pyqtgraph

我想绘制一条包含多条曲线的图形(尽管在此特定示例中,所有图形都是线性的),然后将图形的总和绘制为附加图形。
我想知道是否有内置的方法来做,而不是计算每个新的(x,y)点在该点的所有其他曲线的坐标并将它们相加。
这是一个简单的例子(它作为一个独立的脚本运行):

from pyqtgraph.Qt import QtGui, QtCore
import pyqtgraph as pg

app = QtGui.QApplication([])
win = pg.GraphicsWindow(title="For Test")
plot = win.addPlot(title='Test')

#First plot:
x = [1,3,5,7]
y = [1,2,1,2]
curve1 = plot.plot(x=x, y=y, pen='r')
#Second plot
x = [2,4,6,8]
y = [0.5,4,2,2]
curve2 = plot.plot(x=x, y=y, pen='g')

if __name__ == '__main__':
    app.exec_()

预期结果如下:
x = [1,2,3,4,5,6,7,8]
y = [1,~2,~4,~5.5,~8,~3.5,4,2]
如果存在实际曲线,则此问题会变得更难。那么有内置的方法吗?

1 个答案:

答案 0 :(得分:0)

我怀疑是否有内置功能。每条曲线中有不同的间隔点。你需要做什么:

1 - 构造两条曲线共有的x向量。我建议

np.linspace(min(x1.min(), x2.min(), max(x1.max(), x2.max(), n_points)

2 - 对每条曲线的y值进行插值,以找到常用x向量的值

3 - 添加插值曲线并绘制

请参阅this answer了解如何从已知的x和y值插值曲线