Rysowanie za pomocą matplotlib w wątkach

Wiem, że są pewne pytania dotyczące matplotlib i threading, również, że pyplot nie jest wątkiem. Nie mogłem jednak znaleźć nic na ten konkretny problem. Chcę: narysować figurę i aktualizować ją co sekundę. W tym celu chciałem stworzyć wątek, ale do tej pory nie mogłem nawet uzyskać prawdziwego wątku z wątku. Ponadto utknąłem z qt4, więc inne backendy mogą się różnić.

Oto bardzo prosty przykład: fabuła jest tworzona wplot_a_graph(). Działa to dobrze, gdy jest wywoływane z programu głównego, ale opóźnia dalsze wykonywanie kodu głównego. Jednak po wywołaniu z wątku nie jest wyświetlany żaden wykres.

import matplotlib
matplotlib.use("qt4agg")
import matplotlib.pyplot as plt
import threading
import time

def plot_a_graph():
    f,a = plt.subplots(1)
    line = plt.plot(range(10))
    plt.show()
    print "plotted graph"    
    time.sleep(4)


testthread = threading.Thread(target=plot_a_graph)

plot_a_graph()      # this works fine, displays the graph and waits
print "that took some time"

testthread.start() # Thread starts, window is opened but no graph appears
print "already there"

Thx for you Help

questionAnswers(2)

yourAnswerToTheQuestion