我试图在一个情节上分散一些流点。我正在使用python中来自matplotlib包的plt.scatter()的交互式绘图。每隔5秒我会分散点数。我不需要保留所有积分并积累它们,但我需要保持过去20秒的积分。有什么帮助吗?
def data_plotting(q):
fig = plt.figure(figsize=(8,8))
ax = fig.add_subplot(111)
plt.ion() # Interactive mode
fig.show()
colors = plt.get_cmap('jet')(np.linspace(0.0, 1.0, clusterNum))
while True:
if q.empty():
time.sleep(5)
else:
obj=q.get() # (DenseVector([6.7456, 7.7456]), 0)
d=[x[0] for x in obj]
c=[x[1] for x in obj]
data = np.array(d)
pcolor=np.array(c)
try:
plt.scatter(data[:,0], data[:,1], marker='o', alpha = 0.5,color=colors[pcolor])
plt.pause(0.0001)
plt.draw()
time.sleep(5)
except IndexError: # Empty array
pass
答案 0 :(得分:0)
您可以做的是为每个点分配一个日期时间字段。在每次迭代之后,您可以检查过去20多岁的点,然后从数据集中删除它们。