【发布时间】:2022-03-08 04:55:14
【问题描述】:
我想在 seaborn 中绘制一个集群图,由行和列聚类。我不想画树状图。
设置row_cluster=False 或col_cluster=False 会删除树状图,但也会停止聚类。
我如何仍然 2D 聚类但抑制树状图?
This question 提供了将树状图线的宽度设置为 0 的技巧。此技巧在 seaborn 0.7.1 中不起作用。
【问题讨论】:
我想在 seaborn 中绘制一个集群图,由行和列聚类。我不想画树状图。
设置row_cluster=False 或col_cluster=False 会删除树状图,但也会停止聚类。
我如何仍然 2D 聚类但抑制树状图?
This question 提供了将树状图线的宽度设置为 0 的技巧。此技巧在 seaborn 0.7.1 中不起作用。
【问题讨论】:
答案隐藏在文档中。
设cg 为Seaborn 返回的clustermap 实例。
绘制集群图后,键入以下内容以删除行树状图。
cg.ax_row_dendrogram.set_visible(False)
如果要保留图例,请键入:
cg.ax_row_dendrogram.set_xlim([0,0])
这是一个 hack,但 set_axis_off() 在 Seaborn 中似乎并没有像在 matplotlib 中那样做。
【讨论】:
set_axis_off 做什么?
cm.ax_cbar.set_visible(False) 以隐藏 cbar 刻度标签!
以 mac389 的答案为基础,如果您想抑制列和行中的树状图,请执行以下操作:
cg.ax_row_dendrogram.set_visible(False) #suppress row dendrogram
cg.ax_col_dendrogram.set_visible(False) #suppress column dendrogram
您还可以按照 Yacine 的指示抑制 cbar。
【讨论】: