2016-06-02 2 views
1

Derzeit bin ich folgendes zu Beginn meines Notebooks mit SVG Plots zu erzeugen:Wie man matplotlibs nbagg backend SVGs erzeugen erzeugt?

%matplotlib inline 
%config InlineBackend.figure_format = 'svg' 

Wenn stattdessen das nbagg Backend (wie diese: %matplotlib nbagg) werden Parzellen als PNGs erzeugt. Ist es möglich, das nbagg Backend zum Generieren von SVGs zu konfigurieren?

Antwort

2

Das Back-End Agg in Matplotlib verwendet die Anti-Grain Geometry 2D-Grafikbibliothek zum Generieren von Bitmap-Grafiken. Die Dokumentation für die Back-End-Zustände:

Ausgabe auf RGBA und PNG, optional JPEG und TIFF

Das NbAgg Backend hüllt den Agg Backend (via WebAgg core) und so sind auch solche Ausgabetypen beschränkt.

Beachten Sie, dass dies einfach das Backend definiert, das zum Generieren von Zahlen für verwendet wird, das anzeigt. Unabhängig vom Back-End können Sie weiterhin Zahlen im SVG-Format speichern, indem Sie figure.savefig('<filename'> format='svg') verwenden (oder einen Dateinamen mit der Endung .svg verwenden).

+0

Danke, das erklärt es. Ich muss versuchen, die dpi-Einstellungen zu optimieren, um bessere Qualität zu erhalten. Mit Standardeinstellungen sieht Svg viel besser aus als PNG. –

+0

@ BjörnPollex können Sie besser auf Bildschirmauflösung (~ 96dpi; Standard) bleiben und die Bildgröße anpassen. Eine schlechte Qualität der Figuren im Notebook wird normalerweise durch die Browser-Skalierung des resultierenden Bildes verursacht * nachdem * es gerendert wurde. In Chrome (und wahrscheinlich anderen), wenn Sie mit der rechten Maustaste klicken und "Bild in neuem Tab öffnen" wählen, können Sie das "echte" Bild sehen. – mfitzp

Verwandte Themen