Как мне добавить заголовок к этому сюжету в Сиборне? Назовем его «Я - НАЗВАНИЕ».
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
as, тогда как фигура, так и подзаговор последней оси (справа внизу) унаследуют один и тот же заголовок.
g.fig.subplots_adjust(top=0.9)
g.fig.suptitle('Title', fontsize=16)
Подробнее здесь: http://matplotlib.org/api/figure_api.html
В ноутбуке ipython это сработало для меня!
sns.plt.title('YOUR TITLE HERE')
plt
через sns
пакет устарел в 0.8.1. Это должно быть сделано с помощьюplt.title('YOUR TITLE HERE')
Ответы с использованием 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")
или
plt.title("Title")
Это сработало для меня.
Заголовок не будет выровнен по центру с заголовками подзаголовков. Чтобы установить позицию заголовка, вы можете использовать
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
.