如何添加一个标题到海运方面的情节

我如何添加一个标题到这个海运情节? 让我们给它一个标题“我是一个标题”。

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

126089 次浏览

稍作更新,海运0.11.1:

Seborn 的 relplot函数创建一个 FacetGrid,并为每个子图赋予自己的解释性标题。你可以在整个过程中加上一个标题:

import seaborn as sns
tips = sns.load_dataset('tips')


rp = sns.relplot(data=tips, x='total_bill', y='tip',
col='sex', row='smoker',
kind='scatter')
# rp is a FacetGrid;
# relplot is a nice organized way to use it


rp.fig.subplots_adjust(top=0.9) # adjust the Figure in rp
rp.fig.suptitle('ONE TITLE FOR ALL')

Two-by-two grid of scatterplots. Each sub-plot has a title; the grid has a suptitle over all

如果像在原始示例中那样直接创建 FacetGrid,它会自动添加列和行标签,而不是添加单个子图标题。我们仍然可以给整个事情加上一个标题:

from matplotlib.pyplot import scatter as plt_scatter
g = sns.FacetGrid(tips, col='sex', row='smoker',
margin_titles=True)
g.map(plt_scatter, 'total_bill', 'tip')
g.fig.subplots_adjust(top=0.9)
g.fig.suptitle('TITLE!')

Two-by-two grid of scatterplots. Each column has a title and the overall grid has a supertitle.

FacetGrid 对象是用 matplotlib 图形对象构建的,因此我们可以使用 matplotlib 通常所熟悉的 subplots_adjustsuptitle

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

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

对我起作用的是:

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

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

更多信息请点击: http://matplotlib.org/api/figure_api.html

使用 sns.plt.title()sns.plt.suptitle()的答案不再有效。

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

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

或者

plt.title("Title")

这招对我很管用。

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

在我的例子中,我的子图位于一个2x1的网格中,因此我能够使用 找到边界框,然后找到 center=0.5*(bbox.x1+bbox.x2)