如何为Seaborn Facet Plot添加标题

时间:2015-04-23 04:28:39

标签: python visualization seaborn

如何为此Seaborne情节添加标题?让我们给它一个标题'我是一个标题'。

tips = sns.load_dataset("tips")
g = sns.FacetGrid(tips, col="sex", row="smoker", margin_titles=True)
g.map(sns.plt.scatter, "total_bill", "tip")

plot

7 个答案:

答案 0 :(得分:116)

After those lines:

plt.subplots_adjust(top=0.9)
g.fig.suptitle('THIS IS A TITLE, YOU BET') # can also get the figure from plt.gcf()

If you add a suptitle without adjusting the axis, the seaborn facet titles overlap it.

(With different data):

enter image description here

答案 1 :(得分:24)

在ipython笔记本中,这对我有用!

sns.plt.title('YOUR TITLE HERE')

答案 2 :(得分:17)

g.fig.subplots_adjust(top=0.9)
g.fig.suptitle('Title', fontsize=16)

此处有更多信息:http://matplotlib.org/api/figure_api.html

答案 3 :(得分:2)

对我有用的是:

sns.plt.suptitle('YOUR TITLE HERE')

答案 4 :(得分:0)

plt.suptitle("Title") 

plt.title("Title")

这对我有用。

答案 5 :(得分:0)

标题不会与子图标题居中对齐。 要设置标题的位置,您可以使用 plt.suptitle("Title", x=center)

在我的情况下,我的子图位于2x1网格中,因此我可以使用 bbox = g.axes[0,0].get_position()找到边界框,然后center=0.5*(bbox.x1+bbox.x2)

答案 6 :(得分:-1)

使用sns.plt.title()sns.plt.suptitle()的答案不再起作用。

相反,您需要使用matplotlib的title()函数:

import matplotlib.pyplot as plt
sns.FacetGrid(<whatever>)
plt.title("A title")