Черчение с матплотлибом в темах

Я знаю, что есть довольно много вопросов о matplotlib и threading, а также о том, что pyplot не является thread-save. Я не мог найти что-нибудь по этой конкретной проблеме, однако. То, что я хочу сделать, это: построить фигуру и обновлять ее каждую секунду. Для этого я хотел создать тему, но до сих пор не мог даже получить реальный сюжет из этой темы. Кроме того, я застрял с qt4, так что, возможно, другие бэкэнды ведут себя иначе.

Вот очень простой пример: сюжет создается вplot_a_graph(), Это прекрасно работает при вызове из основной программы, но задерживает дальнейшее выполнение основного кода. Однако при вызове из потока график не отображается.

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"

Спасибо за помощь

Ответы на вопрос(2)

Ваш ответ на вопрос