Pylab动画多个数字

时间:2014-01-31 21:14:45

标签: python matplotlib non-interactive

我想使用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()

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

1 个答案:

答案 0 :(得分:0)

我在this article之后找到了一个解决方案。

我用名字初始化了这个数字:

fig = pyplot.figure(name)

然后我更改了行:

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

为:

    pyplot.figure(name)
    pyplot.draw()

显然这是有效的,不完全确定原因。