我有一个关于从matplotlib动态更新散点图的问题。 我有下面的Python类
''' PolygonHandler.py - Python source for polygon handling '''
import numpy as np
import matplotlib.pyplot as plt
class PolygonHandler:
# Constructor
def __init__(self):
self.X = []
self.Y = []
self.numberPoints = 0
# Print the polygon
def draw(self):
plt.scatter(self.X,self.Y)
plt.draw()
def update(self):
for i in range(1,self.numberPoints):
self.X[i] += np.random.normal()*0.01
self.Y[i] += np.random.normal()*0.01
# append a point
def add(self,x,y):
self.numberPoints += 1
self.X.append(x)
self.Y.append(y)
该类用于接收信息并将点添加到PolygonHandler类的实时循环中。现在作为一个例子,我想设计以下循环
^{pr2}$如何告诉翻译绘制散点图,并在更新后删除之前的点?现在,我的图绘制了这些点和它们以前的位置。在
文森特
非常感谢你的帮助
另一个问题是matplotlib打开的窗口一旦我点击它(比如把它移到屏幕上的另一个地方)就会冻结并停止应答,有没有办法防止这种情况发生?在
这里有一个方法可以使用matplotlib中的动画。在
这样你就可以画出你的3次随机行走:
^{pr2}$关键元素是方法
set_offsets()
,它替代散点图的数据。然后这样的散点对象由update()
返回,这样matplotlib知道它必须被更新。有关类处理的matplotlib动画的另一个源,请参见thismatplotlib示例。在最后一行中blit=True时,动画速度更快,但根据您的操作系统,它可能无法工作。在
相关问题 更多 >
编程相关推荐