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

时间:2016-01-01 23:38:36

标签: 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()
    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

1 个答案:

答案 0 :(得分:0)

您可以做的是为每个点分配一个日期时间字段。在每次迭代之后,您可以检查过去20多岁的点,然后从数据集中删除它们。