Wie ändere ich die Größe meines Bildes, damit es zum Drucken geeignet ist?
Zum Beispiel möchte ich A4-Papier verwenden, dessen Abmessungen im Querformat 11,7 x 8,27 Zoll betragen.
Sie müssen die Objekte matplotlib Figure und Axes im Voraus erstellen und angeben, wie groß die Figur ist:
from matplotlib import pyplot
import seaborn
import mylib
a4_dims = (11.7, 8.27)
df = mylib.load_data()
fig, ax = pyplot.subplots(figsize=a4_dims)
seaborn.violinplot(ax=ax, data=df, **violin_options)
sns.lmplot()
height
undaspect
wie hier beschrieben eingestellt werden. Stackoverflow.com/a/51602446/2412831Sie können die Figurengröße auch festlegen, indem Sie das Wörterbuch an den
rc
Parameter mit dem Schlüssel'figure.figsize'
in der Seaborn-set
Methode übergeben:Andere Alternative kann zu benutzen ,
figure.figsize
derrcParams
wie unten Satz Abbildung Größe:Weitere Details finden Sie in der matplotlib-Dokumentation
quelle
.set()
vor.set_style()
Sie können den Kontext
poster
festlegen oder manuell festlegenfig_size
.quelle
sns.lmplot()
Beachten Sie , wenn Sie auf eine „-Figur Ebene“ Methode in Seaborn zu passieren versuchen (zB
lmplot
,catplot
/factorplot
,jointplot
) Sie können und dies innerhalb der Argumente angeben sollten mitheight
undaspect
.Siehe https://github.com/mwaskom/seaborn/issues/488 und Plotten mit Seaborn mit der matplotlib objektorientierten Schnittstelle für weitere Details über die Tatsache , dass Abbildung Ebene Methoden nicht gehorchen Achsen Spezifikationen.
quelle
Importieren Sie zuerst matplotlib und stellen Sie damit die Größe der Figur ein
quelle
Dies kann erfolgen mit:
quelle
Das soll auch funktionieren.
quelle
Für meine Handlung (eine sns-Faktor-Handlung) funktionierte die vorgeschlagene Antwort nicht gut.
Also benutze ich
Kurz nach der Handlung mit Seaborn (also keine Notwendigkeit, eine Axt an Seaborn zu übergeben oder die RC-Einstellungen zu ändern).
quelle
python g = sns.FacetGrid(df.set_index('category'), col="id") pyplot.gcf().set_size_inches(11.7, 8.27) g.map(lambda data, color: data.plot.barh(color=color), "count")
sns.FacetGrid
würde eine Figurengröße gemäß einem berechneten Wert (eingestellt durchheight
undaspect
) festgelegt, und das Ändern der Figurengröße direkt nach dem Plotten auf See funktioniert. Und andere Feinabstimmungen der Handlung können nach Änderung der Figurengröße erfolgenZusätzlich zur elz- Antwort bezüglich "Figurenebene" -Methoden, die Rasterobjekte mit mehreren Plots zurückgeben, ist es möglich, die Höhe und Breite der Figur explizit ( dh ohne Verwendung des Seitenverhältnisses) unter Verwendung des folgenden Ansatzes festzulegen :
quelle
set_figwidth
undset_figheight
funktionieren gut für Gitterobjekte. >>> Seaborn importieren >>> matplotlib.pyplot als Pyplot importieren >>> tips = seaborn.load_dataset ("tips") >>> g = seaborn.FacetGrid (tips, col = "time", row = "smoker") >>> g = g.map (pyplot.hist, "total_bill") >>> g.fig.set_figwidth (10) >>> g.fig.set_figheight (10)Die Top-Antworten von Paul H und J. Li funktionieren nicht für alle Arten von Seegeborenen. Verwenden Sie für den
FacetGrid
Typ (zum Beispielsns.lmplot()
) den Parametersize
undaspect
.Size
Ändert sowohl die Höhe als auch die Breite, wobei das Seitenverhältnis beibehalten wird.Aspect
Ändert nur die Breite und hält die Höhe konstant.Sie können immer die gewünschte Größe erhalten, indem Sie mit diesen beiden Parametern spielen.
Gutschrift: https://stackoverflow.com/a/28765059/3901029
quelle