我已经搜索过,但还没有发现如何向Seaborn Clustermap添加标题。
我尝试过:
plt.title('Title',loc='center')
但这会将标题添加到图例中,而不是主要的聚类图。
我还尝试过先创建一个轴对象,然后将标题添加到该对象中(这似乎对热图起作用),但问题在于聚类图不会绘制在这个轴对象上。它显然会绘制在它自己的对象上。
感谢任何帮助...
我已经搜索过,但还没有发现如何向Seaborn Clustermap添加标题。
我尝试过:
plt.title('Title',loc='center')
但这会将标题添加到图例中,而不是主要的聚类图。
我还尝试过先创建一个轴对象,然后将标题添加到该对象中(这似乎对热图起作用),但问题在于聚类图不会绘制在这个轴对象上。它显然会绘制在它自己的对象上。
感谢任何帮助...
你可以使用.fig.suptitle('你的标题')
。
想象一下Seaborn文档中用于clustermap的这个例子:
import seaborn as sns
iris = sns.load_dataset("iris")
species = iris.pop("species")
g = sns.clustermap(iris)
您可以使用以下方式添加标题:
g = sns.clustermap(iris).fig.suptitle('Your Title')
或者简单地说:
g.fig.suptitle('Your Title')
然而,这会为整个图添加一个标题,而不是单个子图。如果您想为子图添加标题,请参见@Kiraly Sandor的解决方案。
g.fig.suptitle('Figure Title')
g.ax_heatmap.set_title('Subplot Title')
其中一种解决方案可能是这样的:绘图返回的对象具有一个名为ax_heatmap
的方法,该方法具有一个set_title
方法。如果您使用标题设置它,则您的绘图将具有一个标题:
import seaborn as sns
sns.set(color_codes=True)
iris = sns.load_dataset("iris")
species = iris.pop("species")
g = sns.clustermap(iris)
g.ax_heatmap.set_title('lalal')
g.fig.subplots_adjust(top=.9)
调整 suptitle 的位置,否则图表和标题之间通常会有一个很大的丑陋间隙。我也喜欢使用g.ax_col_dendrogram.set_title()
,它可以在顶部树状图正上方直接添加标题。 - uut