代码之家  ›  专栏  ›  技术社区  ›  maurobio

Scipy树状图的简单着色

  •  1
  • maurobio  · 技术社区  · 7 年前

    我正在尝试使用Scipy创建单色(如黑白)树状图。在Scipy文档之后,我一直在使用set_link_color_pallete函数,但是只得到一个黑色的组,而树状图的其余部分是蓝色的(参见下图)。

    以下是我的测试代码:

    import numpy as np
    import matplotlib.pyplot as plt
    from scipy.cluster import hierarchy
    
    ytdist = np.array([662., 877., 255., 412., 996., 295., 468., 268.,
                        400., 754., 564., 138., 219., 869., 669.])
    Z = hierarchy.linkage(ytdist, 'single')
    hierarchy.set_link_color_palette(['k', 'k', 'k', 'k', 'k'])
    dn = hierarchy.dendrogram(Z)
    plt.show()
    

    enter image description here

    Here 这是一个应该解决这个问题的问题,但我不能非常清楚地理解它。

    有什么提示或建议吗?

    1 回复  |  直到 7 年前
        1
  •  1
  •   Ghost    7 年前

    一个简单的方法是设置一个 color_threshold 0 然后设置 above_threshold_color 'k'

    import numpy as np
    import matplotlib.pyplot as plt
    from scipy.cluster import hierarchy
    
    ytdist = np.array([662., 877., 255., 412., 996., 295., 468., 268.,
                        400., 754., 564., 138., 219., 869., 669.])
    Z = hierarchy.linkage(ytdist, 'single')
    dn = hierarchy.dendrogram(Z, color_threshold=0, above_threshold_color='k')
    plt.show()
    

    Monocolor Dendrogram

    推荐文章