2014-09-11 1 views
30

Ich zeichne ein NumPy-Array von Werten, I, mit IPython-Notebook in %matplotlib Inline-Modus mit dem Plot-Befehl plt.plot(I,'o').So verbergen Sie <matplotlib.lines.Line2D> im IPython-Notebook

Die resultierende Ausgabe ist:

<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>, 
.... 
.... 
] 

Dann ist mein Plot zeigt unterhalb dieser Zeilen der Ausgabe auf.

Gibt es eine Möglichkeit, nur die Grafik anzuzeigen und die <matplotlib.lines.Line2D at ...> von der Ausgabe auszublenden?

+1

Mögliche Duplikate von [Deaktivieren Sie die Ausgabe von Matplotlib Pyplot] (http://StackOverflow.com/Questions/12056115/disable-the-Output-of-Matplotlib-PIplot) – iled

Antwort

59

Sie können ein Semikolon ; verwenden, um die Linie zu beenden. Dies unterdrückt die unerwünschte Ausgabe, wenn Plots zu erzeugen:

plt.plot(I,'o'); 

Im Allgemeinen ein Semikolon stoppt IPython vom Druck beliebigen Ausgangswert aus dieser Zeile eines Codeblocks verwendet wird. Zum Beispiel würde das Ausführen der Zelle, die den Code 1+1; enthält, 2 nicht ausgeben.

Eine alternative Möglichkeit wäre, eine Variable auf das Grundstück zu binden:

_ = plt.plot(a) 

Auf diese Weise IPython nur zeigen Ihnen die Plots und der Name _ wird an den unerwünschten Ausgang gebunden.

+0

Sie könnten auch auf eine Variable gespeichert werden, was würde ich nicht auf die Arbeitsmappe drucken. – will

+0

@will - danke, habe editiert, um deinen Vorschlag einzuschließen. –

9

Eine andere Möglichkeit besteht darin, einfach plt.show() am Ende Ihres Zeichnungscodes zu schreiben. Wenn Sie viele Unterplots erstellen und/oder viele Plots auf einem einzelnen Unterplot zeichnen, werden weniger Symbole benötigt.