如何注释seaborn pairplots?

时间:2015-09-09 13:41:30

标签: python matplotlib seaborn

我有一个binned数据集合,我从中生成了一系列seaborn pairplots。由于所有的箱子都有相同的标签,但没有箱子名称,我需要在下面用箱子名称“n”注释配对点,以便我以后可以将它们与箱子相关联。

import seaborn as sns
groups = data.groupby(pd.cut(data['Lat'], bins))
for n,g in groups:
    p = sns.pairplot(data=g, hue="Label", palette="Set2", 
                 diag_kind="kde", size=4, vars=labels)

我在文档中注意到seaborn使用或构建在matplotlib上。我一直无法弄清楚如何在左侧标注图例,或在配对图的上方或下方提供标题。任何人都可以提供关于如何将任意文本添加到绘图的这三个区域的文档指针的示例吗?

1 个答案:

答案 0 :(得分:12)

在跟进mwaskom建议使用matplotlib.text()(谢谢)后,我能够按预期方式使用以下内容:

p = sns.pairplot(data=g, hue="Label", palette="Set2", 
             diag_kind="kde", size=4, vars=labels)
#bottom labels
p.fig.text(0.33, -0.01, "Bin: %s"%(n), ha ='left', fontsize = 15)
p.fig.text(0.33, -0.04, "Num Points: %d"%(len(g)), ha ='left', fontsize = 15)

和其他有用的功能:

# title on top center of subplot
p.fig.suptitle('this is the figure title', verticalalignment='top', fontsize=20)

# title above plot
p.fig.text(0.33, 1.02,'Above the plot', fontsize=20)

# left and right of plot
p.fig.text(0, 1,'Left the plot', fontsize=20, rotation=90)
p.fig.text(1.02, 1,'Right the plot', fontsize=20, rotation=270)

# an example of a multi-line footnote
p.fig.text(0.1, -0.08,
     'Some multiline\n'
     'footnote...',
      fontsize=10)