2016-01-01 72 views
2

我正在嘗試分散一些圖上的某些流點。我在python中使用matplotlib包中的plt.scatter()的交互式陰謀。每隔5秒我會分散點數。我不需要保留所有積分並積累它們,但我需要保持過去20秒的積分。任何幫助?在一段時間後從matplotlib中刪除散點

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

你可以做的是給每個點分配一個日期時間字段。每次迭代後,您都可以查看過去20多歲的點,然後從數據集中刪除它們。