Python seaborn更改clustermap可视化选项,无需重新进行群集
是否可以在以前获得的Python seaborn更改clustermap可视化选项,无需重新进行群集,python,seaborn,hierarchical-clustering,Python,Seaborn,Hierarchical Clustering,是否可以在以前获得的ClusterGrid对象上运行seaborn.clustermap 例如,在以下示例中,我使用用户clustermap获取g: import seaborn as ns data = sns.load_dataset("iris") species = iris.pop("species") g = sns.clustermap( data, cmap="mako", col_cluster=False, yticklabels=Fals
ClusterGrid
对象上运行seaborn.clustermap
例如,在以下示例中,我使用用户clustermap获取g:
import seaborn as ns
data = sns.load_dataset("iris")
species = iris.pop("species")
g = sns.clustermap(
data,
cmap="mako",
col_cluster=False,
yticklabels=False, figsize=(5, 10),
method='ward',
metric="euclidean"
)
我想尝试不同的可视化选项,如不同的颜色贴图、图形大小、带标签和不带标签的外观等
使用iris
数据集,一切都非常快,但我有一种方法,即使用更大的数据集,聚类部分需要花费大量时间
我可以使用
g
使用不同选项显示热图和树状图吗?由clustermap
返回的对象类型为ClusterGrid
。该对象在seaborn
中没有真正的文档记录,但是,它本质上只是几个轴
对象的容器。根据要进行的操作类型,您可能只需要访问相关的轴
对象或图形本身:
# change the figure size after the fact
g.fig.set_size_inches((4,4))
# remove the labels of the heatmap
g.ax_heatmap.set_xticklabels([])
颜色映射的东西更难访问clustermap
在引擎盖下使用matplotlibpcolormesh
。此函数返回一个collection
对象(QuadMesh
),该对象存储在主轴的集合列表中(g.ax\u heatmap.collections
)。由于seaborn不会在该轴上绘制任何其他图形,因此我们可以通过索引[0]
获得四边形网格对象,然后我们可以使用适用于该对象的任何函数
# change the colormap used
g.ax_heatmap.collections[0].set_cmap('seismic')
要定义您自己的颜色映射,例如相关特征的发散颜色映射,您可以使用matplotlib中的。颜色导入列表颜色映射;想要的cmap=列表颜色图(sns.发散调色板(240,10,n=9));g、 ax\u热图。集合[0]。设置\u cmap(通缉\u cmap)