Python 一段时间后从matplotlib中删除散乱点
我试图在一个情节上散布一些流点。我使用的是一个交互式绘图,它使用python中matplotlib包中的plt.scatter()。每5秒钟我将分散点。我不需要保留所有的分数并累积它们,但我需要保留过去20秒的分数。有什么帮助吗Python 一段时间后从matplotlib中删除散乱点,python,matplotlib,Python,Matplotlib,我试图在一个情节上散布一些流点。我使用的是一个交互式绘图,它使用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()
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
您可以为每个点指定一个日期时间字段。在每次迭代之后,您可以检查哪些点超过20秒,然后从数据集中删除它们