2015-03-30 17 views
19

Quando uso Matplotlib per tracciare alcuni grafici, di solito è corretto per il disegno in linea predefinito. Tuttavia, quando disegno alcuni grafici 3D, mi piacerebbe averli in una finestra separata in modo che le interazioni come la rotazione possano essere abilitate. Posso configurare in codice Python quale figura mostrare in linea e quale visualizzare in una nuova finestra?Stampa in linea o una finestra separata utilizzando Matplotlib in Spyder IDE

So che in Spyder, fare clic su Strumenti, Preferenze, Console Ipython, Grafica e sotto Backend grafico selezionare "automatico" anziché "in linea". Tuttavia, questo rende tutte le figure in nuove finestre. Può essere complicato quando ho un sacco di trame. Quindi voglio solo che il grafico 3D sia in nuove finestre, ma tutti gli altri grafici 2D rimangono in linea. È possibile a tutti?

Grazie!

risposta

19

tipo

%matplotlib qt 

quando si vuole grafici in una finestra separata e

%matplotlib inline 

quando si desidera una trama in linea

comandi
+0

Questo lavoro dovrebbe funzionare con le figure nello stesso script? – pyan

+1

Questo crea solo un errore di sintassi per me – Nethesis

3

magica come

%matplotlib qt 

wo rk nella console iPython e Notebook, ma non funzionano all'interno di uno script.

In questo caso, dopo l'importazione:

from IPython import get_ipython 

uso:

get_ipython().run_line_magic('matplotlib', 'inline') 

per linea di tracciatura del seguente codice, e

get_ipython().run_line_magic('matplotlib', 'qt') 

per la stampa in una finestra esterna.

6

Vai a Strumenti >> Impostazioni >> console IPython >> >> grafiche backend: inline, modificare "in linea" su "Automatico", fare clic su "OK"

Ripristinare il kernel alla console, e il il grafico apparirà in una finestra separata

Problemi correlati