2016-08-25 50 views
5

Gerçek zamanlı çizim sırasında x eksenini değiştirmek istiyorum, böylece bir seferde en fazla 10 örnek görülüyor. Arsa başlatıldıktan hemen sonra plt.axis() güncellemeleri gibi görünüyor. Baska öneri? Şimdiden teşekkürler!Gerçek zamanlı çizim sırasında (python) matplotlib'de x eksenini taşıma

import numpy as np 
import matplotlib.pyplot as plt 

# Initialize 
x_axis_start = 0 
x_axis_end = 10 

plt.axis([x_axis_start, x_axis_end, 0, 1]) 
plt.ion() 

# Realtime plot 
for i in range(100): 
    y = np.random.random() 
    plt.scatter(i, y) 
    plt.pause(0.10) 
    # print(i) 

    if i%10 == 0 and i>1: 
     # print("Axis should update now!") 
     plt.axis([x_axis_start+10, x_axis_end+10, 0, 1]) 

cevap

1

Sen if açıklamada x_axist_start ve x_axis_end güncellemek zorunda!

if i%10 == 0 and i>1: 
    print("Axis should update now!") 
    x_axis_start += 10 
    x_axis_end += 10 
    plt.axis([x_axis_start, x_axis_end, 0, 1]) 

Bu hile yapar! :)

Açıklama: Her iki parametreye yalnızca 10 kez eklediniz. Sonunda her zaman 10'dan 0'a ve 10'a kadar eklediniz, sadece bir güncelleme yapacaksınız.

+0

Oh çocuk, bu kadar basit! Çok teşekkür ederim! – NumbThumb

+0

Rica ederim. En az çalışma örneğindeki iyi iş btw, biz bunlardan yeterince görmüyoruz! – Ian