iPython Notebook svg Zahlen Standardmäßig
Ich gerade angefangen mit ipython, und ich erschaffe Figuren wie:
fig, axes = plt.subplots()
xs = range(0,100)
axes.plot(xs, [x*x for x in xs], 'r')
Ich weiß, dass die zahlen dargestellt werden können als svgs, siehe hier. Leider, die zahlen werden immer so dargestellt, als ein gerastertes Bild. Die Pixelbilder werden sehr hässlich, wenn ich mit dem notebook die zoom-Funktion. Gibt es eine Möglichkeit dieses Verhalten zu ändern, so dass zahlen angezeigt werden als svg standardmäßig?
- Der link ist kaputt; für die Aufzeichnung, die Sie aktivieren können svg-rendering in den ipython notebook mit der Magie
%config InlineBackend.figure_formats=['svg']
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ändern Sie können die Standard-Bild-format in der ipython-Profil-Konfiguration-Dateien. Was ich Tat, war ein Konfigurationsprofil vor allem für den notebook-server, mit:
In der Befehlszeile. Dies schafft eine ganze Reihe von Dateien unter
~/.ipython/profile_nbserver
die Beispiel-Linien für fast jede Einstellung könnten Sie ändern möchten (es könnte irgendwo wie~/.config/ipython
stattdessen je nach OS, nicht sicher, wo es sein würde, unter windows). Sie müssen sich in der Dateiipython_notebook_config.py
. Sie sollten dann fügen Sie die Zeile:Beachten Sie, dass diese nur angewendet, um IPython 3.x, und, dass Sie auch zusätzliche Formate wie pro @HarrySchreiner Kommentar. Für IPython 2.x, Sie sollten in der
c.InlineBackEnd.figure_format='svg'
. Dieses Profil sollten Sie starten Sie das notebook mitWenn dies zu viel Mühe, dann geben Sie nicht den Namen des Profils beim laufen
create
, und ändern Sie die Standard-Profil statt.Vielleicht möchten Sie auch die Linie
so, dass jedes notebook startet automatisch mit der matplotlib inline-backend verwendet.
Ursprünglich wollte ich auch das svg-backend anstelle von png zu aktivieren, Zoomen etc. Allerdings fand ich, dass bestimmte Grundstücke, wie
pcolor
mit einer großen Anzahl von Punkten kann nur zu töten, mein browser bei Verwendung des svg-backend. Also ich finde es einfacher zu verwenden, png, und nutzen Sie einfach diexlim
undylim
Befehle zoom manuell ein, wenn ich muss.Auch, sollten Sie auf jeden Fall optimieren Sie die Linie
c.InlineBackend.rc
um weitere sinnvolle Voreinstellungen für die Figur, die Größe und die verwendeten Schriftarten.Bearbeiten
Aktuelle empfohlene best practice " ist nicht zu verwenden
pylab
, aber explizit importierenmatplotlib
undnumpy
statt, so I modifiziert meine Antwort zu stoppen die Förderung dieser. Finden Sie in diesem Beitrag die Gründe, warum:http://carreau.github.io/posts/10-No-PyLab-Thanks.html
Auch, wenn svg-rendering zu langsam ist, für bestimmte plot-Elemente (wie
pcolor
oderplot_surface
), übergeben Sie die optionrasterized=True
zu diesen plot-Befehle. Dies bedeutet, dass diese bestimmten Teile der Handlung haben schnellen pixel-based rendering, aber auch alle anderen plot-Elemente werden schön vektorisiert.c.InlineBackend.figure_formats = ['svg']
, und es sollte gehenipython_kernel_config.py
als IPython 3.0. Ich persönlich benutzec.InlineBackend.figure_formats = ['pdf','png']
, wie die, die erstellt und verwendet die besten, zum Beispiel, verwendet es eine png-Datei im browser und pdf wenn Sie pdf konvertieren.figure_formats
, aber wo hast du feststellen, dassipython_kernel_config.py
ist die richtige Datei? Ich sehe keine Erwähnung vonInlineBackend
auf ipython.org/ipython-doc/3/config/options/kernel.html.jupyter notebook
? Ich dachte, nach den letzten updates, jupyter liest nur aus der.jupyter/jupyter_notebook_config.py
- Datei. Ich versucht, indem diese IhreInlineBackend
Linie, aber die Linie wird komplett ignoriert.InlineBackend
Einstellungen sollten noch irgendwo unter.ipython
, da es speziell für diesen kernel. Ich habe nicht überprüft, ob alle details in der post sind noch aktuell. Die aktuelle config-Optionen finden Sie unter ipython.readthedocs.io/en/stable/config/options/kernel.htmlDie Magie, die ich suchte:
Alternativ könnten Sie immer noch wollen, um zu zeigen
png
aber speichern Sie eine Abbildung in einer Datei: