2016-08-25 16 views
5

के दौरान matplotlib में एक्स-अक्ष को स्थानांतरित करना मैं वास्तविक समय साजिश के दौरान एक्स-अक्ष का उपयोग करना चाहता हूं ताकि एक समय में अधिकतम 10 नमूने देखे जा सकें। साजिश शुरू होने के बाद यह एक बार plt.axis() अपडेट की तरह लगता है। कोई सुझाव? अग्रिम में धन्यवाद!रीयल टाइम प्लॉट (पायथन)

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

उत्तर

1

आप x_axist_start और if बयान में x_axis_end अद्यतन करने के लिए है!

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

यह चाल है! :)

स्पष्टीकरण: आपने केवल दोनों पैरामीटर में 10 बार जोड़ा है। अंत में आप हमेशा 10 से 0 और 10 जोड़ते हैं, जिससे आपको केवल एक अपडेट मिल जाता है।

+0

ओह लड़का, यह उतना आसान है जितना! आपको बहुत - बहुत धन्यवाद! – NumbThumb

+0

आपका स्वागत है। न्यूनतम कामकाजी उदाहरण बीटीडब्ल्यू पर अच्छा काम, हम उनमें से पर्याप्त नहीं देखते हैं! – Ian

संबंधित मुद्दे