Pygt4实时更新图

时间:2015-04-17 07:24:09

标签: graph pyqt4 python-3.4 auto-update

对于我的项目,我需要制作一个显示15个点并随时间更新密度的图表。在我的代码中,我得到了一个函数,它返回一个表示密度的浮点数。我希望随着时间的推移显示密度。我在stackoverflow / google上搜索了很多,找到了一个合适的例子,但我找不到一个。我需要在子图中使用我的图表。目前我正在使用FigureCanvas制作我的情节。 有人能举例说明如何制作实时更新图吗?我想我应该使用像numpy.append这样的东西,让第一点消失。

我目前使用的代码:

class MyMplCanvas(FigureCanvas):
    """Ultimately, this is a QWidget (as well as a FigureCanvasAgg, etc.)."""
    def __init__(self, parent=None, width=5, height=4, dpi=100):
        fig = Figure(figsize=(width, height), dpi=dpi)
        self.axes = fig.add_subplot(111)
        self.axes.hold(False)
        FigureCanvas.__init__(self, fig)
        self.setParent(parent)
        FigureCanvas.setSizePolicy(self,
                               QtGui.QSizePolicy.Expanding,
                               QtGui.QSizePolicy.Expanding)
        FigureCanvas.updateGeometry(self)

    def compute_initial_figure(self):
         pass

 class MyDynamicMplCanvas(MyMplCanvas):
    """A canvas that updates itself every second with a new plot."""
    def __init__(self, *args, **kwargs):
        MyMplCanvas.__init__(self, *args, **kwargs)
            timer = QtCore.QTimer(self)
            timer.timeout.connect(self.update_figure)
            timer.start(1000)

def update_figure(self):
    #code to update the figure

1 个答案:

答案 0 :(得分:0)

您已经有一个连接到某个功能的计时器。

update_figure中提供更新的数据并重新绘制图形 - 正如在示例中所做的那样,您已从

复制代码