如何注释 seaborn pairplots?
How to annotate seaborn pairplots?
我有一个 collection 分箱数据,我从中生成了一系列 seaborn pairplots。由于所有 bin 都有相同的标签,但 bin 名称不同,我需要在下面用 bin 名称 'n' 注释 pairplots,以便我以后可以将它们与它们的 bin 相关联。
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 之上。我一直无法弄清楚如何在左侧注释图例,或者在成对图的上方或下方提供标题。任何人都可以提供有关如何向绘图的这三个区域添加任意文本的文档的指针示例吗?
在跟进 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)
我有一个 collection 分箱数据,我从中生成了一系列 seaborn pairplots。由于所有 bin 都有相同的标签,但 bin 名称不同,我需要在下面用 bin 名称 'n' 注释 pairplots,以便我以后可以将它们与它们的 bin 相关联。
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 之上。我一直无法弄清楚如何在左侧注释图例,或者在成对图的上方或下方提供标题。任何人都可以提供有关如何向绘图的这三个区域添加任意文本的文档的指针示例吗?
在跟进 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)