【问题标题】:How to suppress drawing dendrograms but still cluster in seaborn?如何抑制绘制树状图但仍聚集在 seaborn 中?
【发布时间】:2022-03-08 04:55:14
【问题描述】:

我想在 seaborn 中绘制一个集群图,由行和列聚类。我不想画树状图。

设置row_cluster=Falsecol_cluster=False 会删除树状图,但也会停止聚类。

我如何仍然 2D 聚类但抑制树状图?

This question 提供了将树状图线的宽度设置为 0 的技巧。此技巧在 seaborn 0.7.1 中不起作用。

【问题讨论】:

    标签: python seaborn


    【解决方案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 刻度标签!
    【解决方案2】:

    以 mac389 的答案为基础,如果您想抑制列和行中的树状图,请执行以下操作:

    cg.ax_row_dendrogram.set_visible(False) #suppress row dendrogram
    
    cg.ax_col_dendrogram.set_visible(False) #suppress column dendrogram
    

    您还可以按照 Yacine 的指示抑制 cbar。

    【讨论】:

      猜你喜欢
      • 2021-06-07
      • 2015-07-05
      • 2022-01-19
      • 2012-08-08
      • 1970-01-01
      • 2021-01-03
      • 1970-01-01
      • 2016-05-25
      相关资源
      最近更新 更多