0

我想使用 pylab 动画更新多个图形。我为要显示的每个通道初始化一个新图形,并将交互模式设置为关闭,使用:

    pyplot.ion()
    pyplot.show()

在包含该图的类中,有一个环形缓冲区和一个更新数据的方法:

    def append_data(self, data):
        update buffers with data

        ...
        ...

        self.lineb.set_data(self.tbuf, self.bbuf)
        self.ax1.set_xlim( [min(self.tbuf), max(self.tbuf)] )
        self.ax1.set_ylim( [min(self.bbuf), max(self.bbuf)] )

        ...
        ...

        self.fig.show()
        pyplot.draw()

问题:有多个数字,只有最后一个正确更新。其他的不刷新。我知道数据已正确添加到每个图形的缓冲区中,所以问题不存在。

4

1 回答 1

0

我在这篇文章之后找到了一个解决方案。

我用一个名字初始化了这个图形:

fig = pyplot.figure(name)

然后我改变了行:

    self.fig.show()
    pyplot.draw()

至:

    pyplot.figure(name)
    pyplot.draw()

显然这有效,不完全确定为什么。

于 2014-01-31T23:07:13.283 回答