Wie füge ich diesem Seaborne-Plot einen Titel hinzu? Geben wir ihm den Titel "I AM A TITLE".
tips = sns.load_dataset("tips")
g = sns.FacetGrid(tips, col="sex", row="smoker", margin_titles=True)
g.map(sns.plt.scatter, "total_bill", "tip")
Wie füge ich diesem Seaborne-Plot einen Titel hinzu? Geben wir ihm den Titel "I AM A TITLE".
tips = sns.load_dataset("tips")
g = sns.FacetGrid(tips, col="sex", row="smoker", margin_titles=True)
g.map(sns.plt.scatter, "total_bill", "tip")
Antworten:
Nach diesen Zeilen:
plt.subplots_adjust(top=0.9)
g.fig.suptitle('THIS IS A TITLE, YOU BET') # can also get the figure from plt.gcf()
Wenn Sie einen Untertitel hinzufügen, ohne die Achse anzupassen, überlappen ihn die Titel der seegeborenen Facetten.
(Mit unterschiedlichen Daten):
suptitle
hat auch einen y
Parameter. Dies funktionierte für mich:g.fig.suptitle('foo', y=1.05)
col_wrap
da dann sowohl die Abbildung als auch die Unterzeichnung der letzten Achse (unten rechts) denselben Titel erben.
In ipython notebook hat das bei mir funktioniert!
sns.plt.title('YOUR TITLE HERE')
plt
über das sns
Paket ist in 0.8.1 veraltet. Dies sollte mitplt.title('YOUR TITLE HERE')
g.fig.subplots_adjust(top=0.9)
g.fig.suptitle('Title', fontsize=16)
Weitere Informationen hier: http://matplotlib.org/api/figure_api.html
plt.suptitle("Title")
oder
plt.title("Title")
Das hat bei mir funktioniert.
Die Antworten mit sns.plt.title()
und sns.plt.suptitle()
funktionieren nicht mehr.
Stattdessen müssen Sie die title()
Funktion von matplotlib verwenden:
import matplotlib.pyplot as plt
sns.FacetGrid(<whatever>)
plt.title("A title")
plt.suptitle()
?
plt.suptitle()
ändert auch die letzten Achsen sowie die Hauptfigur.
Der Titel wird nicht mittig an den Unterplottiteln ausgerichtet. Um die Position des Titels festzulegen, können Sie verwenden
plt.suptitle("Title", x=center)
In meinem Fall befanden sich meine Nebenhandlungen in einem 2x1-Raster, sodass ich bbox = g.axes[0,0].get_position()
den Begrenzungsrahmen finden konnte
und danncenter=0.5*(bbox.x1+bbox.x2)
plt.subplots_adjust(top=0.8)
stattdessen verwendentop=0.9
.