it-swarm.com.ru

Можно ли иметь несколько окон PyPlot? Или я ограничен участками?

Я не уверен, как сформулировать мой вопрос более четко. По сути, PyPlot ограничен одним экземпляром/окном? Любой взлом или обходной путь, который я пробую, либо приводит к зависанию моей программы, либо к тому, что второе окно pyplot ставится в очередь до тех пор, пока первое окно не будет закрыто.

21
wnewport

Конечно, просто откройте новую фигуру:

import matplotlib.pyplot as plt

plt.plot(range(10))

plt.figure()
plt.plot(range(10), 'ro-')

plt.figure(), plt.plot(...)

plt.show() # only do this once, at the end

Если вы запускаете это в интерпретаторе Python по умолчанию, это не будет работать, так как каждая фигура должна входить в основной цикл графического интерфейса. Если вы хотите запускать вещи в интерактивной оболочке, загляните в IPython. Если вы просто запустите это нормально (то есть поместите его в файл и вызовете python filename.py), то все будет работать нормально.

43
Joe Kington

Используйте plt.figure() и используйте определенное число, чтобы окно было зафиксировано:

plt.figure(200)
plt.plot(x)
plt.show()

а для другого сюжета используйте другое число:

plt.figure(300)
plt.plot(y)
plt.show()
6
j35t3r