Wie kann ich verhindern, dass ein bestimmter Plot im Jupyter-Notizbuch angezeigt wird? Ich habe mehrere Diagramme in einem Notizbuch, möchte jedoch, dass eine Teilmenge davon in einer Datei gespeichert und nicht auf dem Notizbuch angezeigt wird, da dies erheblich verlangsamt wird.
Ein minimales Arbeitsbeispiel für ein Jupyter-Notebook ist:
%matplotlib inline
from numpy.random import randn
from matplotlib.pyplot import plot, figure
a=randn(3)
b=randn(3)
for i in range(10):
fig=figure()
plot(b)
fname='s%03d.png'%i
fig.savefig(fname)
if(i%5==0):
figure()
plot(a)
Wie Sie sehen können, habe ich zwei Arten von Grundstücken, a und b. Ich möchte, dass A's geplottet und angezeigt werden und ich möchte nicht, dass die B-Plots angezeigt werden. Ich möchte nur, dass sie in einer Datei gespeichert werden. Hoffentlich beschleunigt dies die Dinge ein wenig und verschmutzt mein Notizbuch nicht mit Zahlen, die ich nicht sehen muss.
Vielen Dank für Ihre Zeit
Vielleicht löschen Sie einfach die Achse, zum Beispiel:
fig= plt.figure()
plt.plot(range(10))
fig.savefig("save_file_name.pdf")
plt.close()
zeichnet die Ausgabe nicht im Modus inline
. Ich kann nicht herausfinden, ob die Daten wirklich gelöscht werden.
Ich konnte die Anzeige meiner Figuren verhindern, indem ich den interaktiven Modus mit dieser Funktion ausschaltete
plt.ioff ()
Um die Ausgabe von einer Jupyter-Notebook-Zelle zu verhindern, können Sie die Zelle mit starten
%%capture
Dies kann nützlich sein, wenn alle anderen hier gezeigten Methoden fehlschlagen.
Ich bin allerdings ein Anfänger außerhalb des Inline-Modus, wenn Sie die Ausgabe in Ihrem Notizbuch nicht sehen möchten, indem Sie:
%matplotlib auto
oder:
%matplotlib
um es wieder zu benutzen:
%matplotlib inline
mehr bessere Lösung wäre zu verwenden:
plt.ioff()
was sagt, Inline-Modus aus.
ich hoffe es hilft.
Ab IPython 6.0 gibt es eine weitere Option, um die Inline-Ausgabe zu deaktivieren (vorübergehend oder dauerhaft). Dies wurde eingeführt in dieser Pull-Anfrage .
Sie würden das Backend "agg" verwenden, um keine Inline-Ausgabe anzuzeigen.
%matplotlib agg
Wenn Sie das Inline-Backend zuerst aktiviert haben, muss es anscheinend zweimal aufgerufen werden, damit es wirksam wird.
%matplotlib agg
%matplotlib agg
So würde es in Aktion aussehen