Scipy 树状图的简单着色

Simple coloring of Scipy dendrograms

我正在尝试使用 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()

应该是解决这个问题的问题,但是我没看明白。

有什么提示或建议吗?

一种简单的方法是在 0 处设置 color_threshold,然后将 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()