Wie man ein Diagramm in hoher Auflösung in Matplotlib plotten und speichern kann

Suraj Joshi 30 Januar 2023
  1. Graphen in hoher Auflösung in Matplotlib plotten
  2. Abbildung in hoher Auflösung in Matplotlib speichern
Wie man ein Diagramm in hoher Auflösung in Matplotlib plotten und speichern kann

Um ein Diagramm in hoher Auflösung in Matplotlib zu speichern, steuern wir verschiedene Parameter der Funktion savefig(). In ähnlicher Weise können wir Graphen in hoher Auflösung zeichnen, indem wir einen hohen Wert des Parameters dpi in der Funktion figure() setzen.

Graphen in hoher Auflösung in Matplotlib plotten

Wir können Zahlen in hoher Auflösung darstellen, indem wir hohe Werte von dpi in der Funktion matplotlib.pyplot.figure() einstellen.

Syntax der Funktion matplotlib.pyplot.figure():

matplotlib.pyplot.figure(num=None, 
                         figsize=None, 
                         dpi=None, 
                         facecolor=None, 
                         edgecolor=None, 
                         frameon=True, 
                         FigureClass=<class 'matplotlib.figure.Figure'>,
                         **kwargs)

dpi steht für Punkte pro Zoll. Es steht für die Anzahl der Pixel pro Zoll in der Abbildung. Der Standardwert für dpi in der Funktion matplotlib.pyplot.figure() ist 100. Wir können höhere Werte für dpi einstellen, um hochauflösende Plots zu erzeugen. Eine Erhöhung der dpi vergrößert jedoch auch die Abbildung, und wir müssen den entsprechenden Wert für dpi so einstellen, dass die Abbildung möglicherweise nicht beschnitten wird.

import numpy as np
import matplotlib.pyplot as plt

x = np.arange(0, 20)
m = 1.5
c = 2
y = m * x + c

plt.figure(dpi=150)
plt.plot(x, y)
plt.title("y=mx+c")
plt.xlabel("x-axis")
plt.ylabel("y-axis")

plt.show()

Ausgabe:

Plotten mit hoher Auflösung

Abbildung in hoher Auflösung in Matplotlib speichern

Wir können Zahlen in hoher Auflösung darstellen, indem wir hohe Werte von dpi in der Funktion matplotlib.pyplot.savefig() setzen.

Syntax der Funktion matplotlib.pyplot.savefig():

matplotlib.pyplot.savefig(fname, 
                          dpi=None,
                          facecolor='w',
                          edgecolor='w',
                          orientation='portrait',
                          papertype=None, 
                          format=None,
                          transparent=False,
                          bbox_inches=None, 
                          pad_inches=0.1,
                          frameon=None, 
                          metadata=None)

Wir können die Auflösung der gespeicherten Abbildung durch den Parameter dpi in der Funktion savefig() kontrollieren. In ähnlicher Weise können wir auch die Formate beim Speichern des Plots variieren. Im Allgemeinen ist pngs für hochauflösende Diagramme besser als jpeg, da png ein verlustfreies Kompressionsformat ist und das andere ein verlustbehaftetes Kompressionsformat.

import numpy as np
import matplotlib.pyplot as plt

x = np.arange(0, 5)
m = 1.5
c = 2
y = m * x + c

plt.plot(x, y)
plt.title("y=mx+c")
plt.xlabel("x-axis")
plt.ylabel("y-axis")
plt.savefig("High resoltion.png", dpi=300)

Dadurch wird der Plot als High resolution.png im aktuellen Arbeitsverzeichnis mit höherer Auflösung als im Standardfall gespeichert.

Suraj Joshi avatar Suraj Joshi avatar

Suraj Joshi is a backend software engineer at Matrice.ai.

LinkedIn