Я пытаюсь сделать так, чтобы я мог запускать бесконечный цикл, запрашивая ввод пользователя, а также простую диаграмму matplotlib. Любые предложения, как это может работать? В настоящее время у меня есть для моего кода:Matplotlib multiProcessing
def createGraph():
fig = plt.figure()
fig.suptitle('A Graph ', fontsize=14, fontweight='bold')
ax = fig.add_subplot(111)
fig.subplots_adjust(top=.9)
ax.set_xlabel('X Score')
ax.set_ylabel('Y Score')
plt.plot([1,2,3,4,5,6,7],[1,3,3,4,5,6,7], 'ro')
plt.show()
def sub_proc(q,fileno):
sys.stdin = os.fdopen(fileno) #open stdin in this process
some_str = ""
while True:
some_str = raw_input("> ")
if some_str.lower() == "quit":
return
q.put_nowait(some_str)
if __name__ == "__main__":
q = Queue()
fn = sys.stdin.fileno() #get original file descriptor
qproc = Process(target=sub_proc, args=(q,fn))
qproc.start()
qproc.join()
zproc = Process(target=createGraph)
zproc.start()
zproc.join()
Как вы видите, я пытаюсь получить процессы, чтобы получить эту работу, так что код работает параллельно. В конечном счете, я хотел бы получить его так, чтобы пользователь мог отображать график и в то же время мог входить в консоль. Спасибо за любую помощь!
Вы заново изобретать колесо, использовать основной цикл событий, который уже существует для вас в одном из графического интерфейса каркасных работ вы можете вставлять matplotlib в. – tacaswell
Спасибо tcaswell, не могли бы вы связать меня с чем-то, что помогло бы мне в рамках gui? Я как бы изо всех сил пытаюсь выяснить, как это сделать – modred
http://matplotlib.org/examples/user_interfaces/ – tacaswell