Python 一段时间后从matplotlib中删除散乱点

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()

我试图在一个情节上散布一些流点。我使用的是一个交互式绘图,它使用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

您可以为每个点指定一个日期时间字段。在每次迭代之后,您可以检查哪些点超过20秒,然后从数据集中删除它们