Возможно ли иметь несколько окон PyPlot? Или я ограничен подзаголовками?

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

3 ответов


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

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 по умолчанию, это не сработает, так как каждая фигура должна войти в mainloop gui. Если вы хотите запускать вещи в интерактивной оболочке, загляните в IPython. Если вы просто запустите это нормально (т. е. поместите его в файл и вызовите python filename.py) он будет работать хорошо.


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

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

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

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

ответа на ваш вопрос нет. Вы можете иметь столько окон, сколько хотите. Во-первых, просто введите

plt.figure(n) #n must be a different integer for every window

для каждой новой фигуры, которую вы хотите. Во-вторых, напишите

plt.show()

только один раз (!) в конце всего, что вы хотите построить. Вот пример для двух гистограмм:

plt.figure(1)
plt.hist(dataset1)
plt.figure(2)
plt.hist(dataset2)
plt.show()