【发布时间】:2014-08-10 04:02:27
【问题描述】:
参考this post:我一直在尝试运行以下代码来绘制和实时更新图表。但是,每次尝试运行该功能时,都会出现以下错误:AttributeError: 'list' object has no attribute 'set_xdata'
函数的其余部分如下所示:
def getData(self):
self.data = random.gauss(10,0.1)
self.ValueTotal.append(self.data)
#With value total being a list instantiated as ValueTotal = []
self.updateData()
def updateData(self):
if not hasattr(self, 'line'):
# this should only be executed on the first call to updateData
self.widget.canvas.ax.clear()
self.widget.canvas.ax.hold(True)
self.line = self.widget.canvas.ax.plot(self.ValueTotal,'r-')
self.widget.canvas.ax.grid()
else:
# now we only modify the plotted line
self.line.set_xdata(np.arange(len(self.ValueTotal)))
self.line.set_ydata(self.ValueTotal)
self.widget.canvas.draw()
虽然这段代码来自sebastian 和Jake French,但我没有成功实现它。我做错了什么吗?是什么导致了这个错误,我该如何解决?
这仅用于示例,不会复制到我的代码中。我只是将其用作参考材料,并认为这是与社区交流我的问题的最简单方法。我不相信之前的代码。
【问题讨论】:
-
@sebastian 你对你提供的解决方案有什么意见吗?
标签: python matplotlib pyqt matplotlib-basemap