Як додати заголовок до цього сюжету, присвяченого морі? Давайте дамо йому назву „Я Є ТИТУЛ”.
tips = sns.load_dataset("tips")
g = sns.FacetGrid(tips, col="sex", row="smoker", margin_titles=True)
g.map(sns.plt.scatter, "total_bill", "tip")
Як додати заголовок до цього сюжету, присвяченого морі? Давайте дамо йому назву „Я Є ТИТУЛ”.
tips = sns.load_dataset("tips")
g = sns.FacetGrid(tips, col="sex", row="smoker", margin_titles=True)
g.map(sns.plt.scatter, "total_bill", "tip")
Відповіді:
Після цих рядків:
plt.subplots_adjust(top=0.9)
g.fig.suptitle('THIS IS A TITLE, YOU BET') # can also get the figure from plt.gcf()
Якщо додати підзаголовок, не регулюючи вісь, заголовки морських народжень перекривають його.
(З різними даними):
suptitle
також має y
параметр. Це спрацювало для мене:g.fig.suptitle('foo', y=1.05)
col_wrap
оскільки тоді і малюнок, і остання осі осі (внизу праворуч) успадкують однаковий заголовок.
У ноутбуці ipython це мені вдалося!
sns.plt.title('YOUR TITLE HERE')
plt
через sns
пакет застарів у версії 0.8.1. Це слід зробити, використовуючиplt.title('YOUR TITLE HERE')
g.fig.subplots_adjust(top=0.9)
g.fig.suptitle('Title', fontsize=16)
Більше інформації тут: http://matplotlib.org/api/figure_api.html
plt.suptitle("Title")
або
plt.title("Title")
Це спрацювало для мене.
Відповіді за допомогою sns.plt.title()
таsns.plt.suptitle()
більше не працюють.
Натомість вам потрібно використовувати title()
функцію matplotlib :
import matplotlib.pyplot as plt
sns.FacetGrid(<whatever>)
plt.title("A title")
plt.suptitle()
?
plt.suptitle()
також змінює останні осі, а також основну фігуру.
Заголовок не буде вирівнюватися по центру до заголовків додаткових сюжетів. Для встановлення позиції заголовка ви можете використовувати
plt.suptitle("Title", x=center)
У моєму випадку мої додаткові ділянки знаходились у сітці 2x1, тож я міг використати,
bbox = g.axes[0,0].get_position()
щоб знайти обмежувальну рамку, а потімcenter=0.5*(bbox.x1+bbox.x2)
plt.subplots_adjust(top=0.8)
замістьtop=0.9
.