==== 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]]