Jak dodać tytuł do tej działki morskiej? Nadajmy temu tytuł „JESTEM TYTUŁEM”.
tips = sns.load_dataset("tips")
g = sns.FacetGrid(tips, col="sex", row="smoker", margin_titles=True)
g.map(sns.plt.scatter, "total_bill", "tip")
Jak dodać tytuł do tej działki morskiej? Nadajmy temu tytuł „JESTEM TYTUŁEM”.
tips = sns.load_dataset("tips")
g = sns.FacetGrid(tips, col="sex", row="smoker", margin_titles=True)
g.map(sns.plt.scatter, "total_bill", "tip")
Odpowiedzi:
Po tych wierszach:
plt.subplots_adjust(top=0.9)
g.fig.suptitle('THIS IS A TITLE, YOU BET') # can also get the figure from plt.gcf()
Jeśli dodasz podtytuł bez dostosowywania osi, tytuły aspektu morskiego będą na niego nakładać się.
(Z różnymi danymi):
suptitle
ma również y
parametr. To zadziałało dla mnie:g.fig.suptitle('foo', y=1.05)
col_wrap
jako, wtedy zarówno figura, jak i wykres podrzędny ostatniej osi (na dole po prawej) odziedziczą ten sam tytuł.
g.fig.subplots_adjust(top=0.9)
g.fig.suptitle('Title', fontsize=16)
Więcej informacji tutaj: http://matplotlib.org/api/figure_api.html
W notatniku ipython to zadziałało!
sns.plt.title('YOUR TITLE HERE')
plt
za pośrednictwem sns
pakietu został wycofany w wersji 0.8.1. Należy to zrobić za pomocąplt.title('YOUR TITLE HERE')
Odpowiedzi używają sns.plt.title()
i sns.plt.suptitle()
już nie działają.
Zamiast tego musisz użyć title()
funkcji matplotlib :
import matplotlib.pyplot as plt
sns.FacetGrid(<whatever>)
plt.title("A title")
plt.suptitle()
?
plt.suptitle()
modyfikuje również ostatnie osie, a także główną figurę.
plt.suptitle("Title")
lub
plt.title("Title")
To zadziałało dla mnie.
Tytuł nie zostanie wyśrodkowany z tytułami działek pomocniczych. Aby ustawić pozycję tytułu, możesz użyć
plt.suptitle("Title", x=center)
W moim przypadku moje podploty były w siatce 2x1, więc mogłem użyć
bbox = g.axes[0,0].get_position()
do znalezienia obwiedni, a następniecenter=0.5*(bbox.x1+bbox.x2)
plt.subplots_adjust(top=0.8)
zamiasttop=0.9
.