Ogni volta che chiamo il codice show()
in matplotlib, la finestra del grafico appare dietro tutte le altre finestre e devo minimizzare tutto per vederlo. C'è un modo per impedirlo o portarlo in primo piano. Su OSX Lion. Python 2.7La finestra Matplotlib appare sul retro?
risposta
Non esattamente una risposta alla tua domanda, ma sto usando ipython invece della console python predefinita. Quando l'ho lanciato con ipython --pylab
posso tracciare ad es. digitando
>> plot([1,3,2])
e avere la trama pop-up di fronte. Ha anche alcune altre funzionalità molto interessanti;)
Può essere specifico sistema operativo, ma usando tracciato interattivo (che riporta non appena si ordina) fa sì che i dati a venire in primo piano non appena come sono fatti su Ubuntu:
import pylab as P
P.ion()
P.figure(1)
P.plot([1,2,3],[1,4,9])
Gli sviluppatori di Matplotlib sembrano essere a conoscenza di questo problema. Ma esaminando https://github.com/matplotlib/matplotlib/issues/596 sembra che ci vorrà un po 'di tempo prima di ottenere una soluzione, apparentemente perché alcune persone trovano fastidioso che figure.show() "rubi" lo spazio sullo schermo.
Ho lo stesso set up di nickponline. Quello che funziona per me è:
from pylab import get_current_fig_manager()
get_current_fig_manager().window.raise_()
Se si dispone di più cifre, solleva solo quella attualmente attiva. Per questo caso, ho scoperto che le seguenti opere:
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_()
la riga di importazione ha un trailing '()', inoltre sembra che non ci siano più proprietà window in FigureManager – anddam
sto sperimentando lo stesso comportamento sia con pitone e ipython sul mio sistema 10.9.1 quindi non è necessariamente una soluzione in ogni caso. – anddam
Lo stesso qui. Credo che anddam abbia riscontrato lo stesso problema che ho io, ovvero che la finestra matplotlib è _permanently_ dietro tutte le altre finestre. Non riesco a metterlo a fuoco, anche quando clicco su di esso nel controllo della missione. L'unica soluzione che ho finora capito è quella di usare il controllo missione per rilasciare temporaneamente la finestra _in uno spazio vuoto_, quindi passare a quello spazio, mettere a fuoco la finestra, quindi trascinare la finestra _back allo spazio originale_, dove il z-order sarà finalmente corretto (a meno che non clicchi su qualsiasi altra finestra, il che fa sì che torni immediatamente sul retro). –
** Aggiornamento: ** Il backend di TkAgg non ha lo stesso problema; viene fornita una finestra di livello superiore (ad esempio, è possibile passare ad essa utilizzando Cmd-Tab). Inizia ancora nella parte inferiore dell'ordine z, ma ora si comporta normalmente. Penso che ci deve essere un bug nel backend MacOSX in Mavericks. –