Окно Matplotlib появляется сзади?
Всякий раз, когда я вызываю show()
в matplotlib, окно графика появляется за всеми остальными окнами, и я должен минимизировать все, чтобы увидеть его. Есть ли способ предотвратить это или программно вывести его на передний план. На OSX Lion. Python 2.7
Ответы
Ответ 1
Не совсем ответ на ваш вопрос, но я использую ipython вместо стандартной консоли python. Когда он запускается с помощью ipython --pylab
, я могу отобразить, например. набрав
>> plot([1,3,2])
и перед вами появится сюжет. Он также имеет некоторые другие очень приятные функции;)
Ответ 2
Разработчик Matplotlib, похоже, знает об этой проблеме. Но глядя в https://github.com/matplotlib/matplotlib/issues/596, похоже, что это будет какое-то время, пока вы не получите решение, по-видимому, потому что некоторые люди находят его раздражающим, что figure.show() "крадет" экранное пространство.
Ответ 3
Он может быть специфичным для ОС, но при использовании интерактивного графика (который вызывается, как только вы укажете) заставляет цифры выходить на передний план, как только они создаются на Ubuntu:
import pylab as P
P.ion()
P.figure(1)
P.plot([1,2,3],[1,4,9])
Ответ 4
У меня такая же настройка, как и для прокрутки. Что для меня работает:
from pylab import get_current_fig_manager()
get_current_fig_manager().window.raise_()
Если у вас несколько цифр, это приводит только к активной активной. В этом случае я обнаружил, что следующие работы:
fig1=figure(1)
cfm1=get_current_fig_manager().window
fig2=figure(2)
cfm2=get_current_fig_manager().window
...
cfm1.activateWindow()
cfm1._raise()
pause(.1) # or something else that uses up some time
cfm2.activateWindow()
cfm2.raise_()