对于我的项目,我需要制作一个显示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
答案 0 :(得分:0)
您已经有一个连接到某个功能的计时器。
在update_figure
中提供更新的数据并重新绘制图形 - 正如在示例中所做的那样,您已从