Hinweis
Gehen Sie zum Ende, um den vollständigen Beispielcode herunterzuladen.
Figurengröße in verschiedenen Einheiten#
Die native Einheit für die Figurengröße in Matplotlib sind Zoll, abgeleitet von den Standards der Druckindustrie. Benutzer müssen ihre Abbildungen jedoch möglicherweise in anderen Einheiten wie Zentimetern oder Pixeln angeben. Dieses Beispiel veranschaulicht, wie dies effizient möglich ist.
import matplotlib.pyplot as plt
text_kwargs = dict(ha='center', va='center', fontsize=28, color='C1')
Figurengröße in Zoll (Standard)#
plt.subplots(figsize=(6, 2))
plt.text(0.5, 0.5, '6 inches x 2 inches', **text_kwargs)
plt.show()

Figurengröße in Zentimeter#
Das Multiplizieren von zentimeterbasierten Zahlen mit einem Umrechnungsfaktor von cm in Zoll ergibt die richtigen Zahlen. Die Benennung des Umrechnungsfaktors cm lässt die Umrechnung fast so aussehen, als würde eine Einheit an die Zahl angehängt, was sehr gut lesbar ist.
cm = 1/2.54 # centimeters in inches
plt.subplots(figsize=(15*cm, 5*cm))
plt.text(0.5, 0.5, '15cm x 5cm', **text_kwargs)
plt.show()

Figurengröße in Pixel#
Ähnlich kann man eine Umrechnung von Pixeln verwenden.
Beachten Sie, dass Sie dies möglicherweise brechen, wenn Sie savefig mit einem anderen expliziten dpi-Wert verwenden.
px = 1/plt.rcParams['figure.dpi'] # pixel in inches
plt.subplots(figsize=(600*px, 200*px))
plt.text(0.5, 0.5, '600px x 200px', **text_kwargs)
plt.show()

Schnelle interaktive Arbeiten werden normalerweise auf dem Bildschirm gerendert, sodass Pixel eine gute Einheitengröße darstellen. Aber das Definieren des Umrechnungsfaktors kann sich für schnelle Iterationen etwas mühsam anfühlen.
Aufgrund der Standardeinstellung rcParams['figure.dpi'] = 100 kann man den benötigten Pixelwert im Kopf durch 100 teilen [1]
plt.subplots(figsize=(6, 2))
plt.text(0.5, 0.5, '600px x 200px', **text_kwargs)
plt.show()
Referenzen
Die Verwendung der folgenden Funktionen, Methoden, Klassen und Module wird in diesem Beispiel gezeigt
Gesamtlaufzeit des Skripts: (0 Minuten 1,448 Sekunden)