2014-09-11 6 views
30

Sto realizzando una matrice NumPy di ​​valori, I, utilizzando il blocco appunti IPython nella modalità in linea %matplotlib con il comando di stampa plt.plot(I,'o').Come nascondere <matplotlib.lines.Line2D> nel blocco appunti IPython

L'output risultante è:

<matplotlib.figure.Figure at 0x119e6ead0> 
Out[159]: 
[<matplotlib.lines.Line2D at 0x11ac57090>, 
<matplotlib.lines.Line2D at 0x11ac57310>, 
<matplotlib.lines.Line2D at 0x11ac57510>, 
<matplotlib.lines.Line2D at 0x11ac57690>, 
<matplotlib.lines.Line2D at 0x11ac57810>, 
<matplotlib.lines.Line2D at 0x11ac57990>, 
<matplotlib.lines.Line2D at 0x11ac57b10>, 
.... 
.... 
] 

Poi la mia trama si presenta sotto queste linee di uscita.

C'è un modo per mostrare solo la trama e nascondere il <matplotlib.lines.Line2D at ...> dall'output?

+1

Possibile duplicato di [Disabilita l'uscita del pyplot matplotlib] (http://stackoverflow.com/questions/12056115/disable-the-output-of-matplotlib-pyplot) – iled

risposta

59

È possibile utilizzare un punto e virgola ; per terminare la linea. Ciò sopprime l'uscita indesiderata durante la generazione piazzole:

plt.plot(I,'o'); 

In generale, utilizzando un semi-colon ferma IPython da stampa di qualsiasi valore di uscita di quella linea di un blocco di codice. Ad esempio, l'esecuzione della cella contenente il codice 1+1; non verrà emessa 2.

Un modo alternativo sarebbe quello di associare una variabile del terreno:

_ = plt.plot(a) 

In questo modo, IPython mostra solo le trame e il nome _ è legato all'uscita indesiderati.

+0

Anche questi potrebbero essere archiviati in una variabile, che non avrei stampato sulla cartella di lavoro, penso. – will

+0

@will - grazie, ho modificato per includere il tuo suggerimento. –

9

Un altro modo è scrivere semplicemente plt.show() alla fine del codice di disegno. Ci vorranno meno simboli da digitare se stai generando molte sottotrame e/o disegnando molti grafici su una singola sottotrama.

Problemi correlati