==== SVG-Export ====
In manchen Fällen kann es sehr nützlich sein die erzeugten Grafiken nicht nur als [[https://de.wikipedia.org/wiki/Portable_Network_Graphics|PNG]], sondern ebenfalls als [[https://de.wikipedia.org/wiki/Scalable_Vector_Graphics|SVG]] zu speichern. Vor allem wenn die erzeugte Grafik über sehr viele feine Details verfügt, werden bei dem PNG-Export schnell die Artifakte sichtbar, die in manchen Fällen sogar zur Missinterpretation der Visualisierung führen können.
**Beispiel**
import matplotlib.pyplot as plt
import numpy as np
plt.figure(figsize=[6, 6])
x = np.arange(0, 100, 0.00001)
y = x*np.sin(2* np.pi * x)
plt.plot(y)
plt.axis('off')
plt.gca().set_position([0, 0, 1, 1])
Bereits bei der Erzeugung der Grafik werden die durch [[https://de.wikipedia.org/wiki/Moir%C3%A9-Effekt|Moiré-Effekt]] **(ist es die richtige Bezeichnung dafür?)** verursachten Artefakte deutlich:
{{:wiki:png-moire.png?400|}}
Die durch die Rechtsclickmenü verfügbare Speicheroption erzeugt zwar eine verlustfrei kodierte PNG-Datei, diese hat aber in der Regel eine unzureichende Auflösung um einzelne Details der Grafik zu untersuchen. So werden bei der Vergrößerung die starken Artefakte immer sichtbarer:
{{:wiki:png-moire2.png?400|}}
Der SVG-Format ermöglicht es die Kurvenverläufe als Vektorgrafik zu speichern und somit diese unabhängig von der verwendeten Auflösung immer korrekt darzustellen:
{{:wiki:svg.png?400|}}
Python verfügt nicht über die Möglichkeit die SVG-Darstellung direkt in der Shell oder Jupyter-Notebook zu integrieren, kann aber durch folgenden Befehl es als ein einzelne Datei speichern:
plt.savefig("test.svg")
In den oben angeführten Beispiel wird die Grafik als //test.svg// in der working directory Ordner gespeichert. Dieser kann durch Ausführung von folgenden Befehlen genau angezeigt werden:
import os
os.getcwd()
Ferner kann der Speicherungsort durch zusätzliche Angaben weiter ausdifferenziert werden: [[https://stackoverflow.com/questions/11373610/save-matplotlib-file-to-a-directory|Link]]
-----
[[https://stackoverflow.com/questions/24525111/how-can-i-get-the-output-of-a-matplotlib-plot-as-an-svg#|Quelle]]