set_link_color_palette#
- scipy.cluster.hierarchy.set_link_color_palette(palette)[source]#
Set list of matplotlib color codes for use by dendrogram.
Note that this palette is global (i.e., setting it once changes the colors for all subsequent calls to
dendrogram
) and that it affects only the the colors belowcolor_threshold
.Note that
dendrogram
also accepts a custom coloring function through itslink_color_func
keyword, which is more flexible and non-global.- Parameters:
- palettelist of str or None
A list of matplotlib color codes. The order of the color codes is the order in which the colors are cycled through when color thresholding in the dendrogram.
If
None
, resets the palette to its default (which are matplotlib default colors C1 to C9).
- Returns:
- None
See also
Notes
Ability to reset the palette with
None
added in SciPy 0.17.0.Thread safety: using this function in a multi-threaded fashion may result in
dendrogram
producing plots with unexpected colors.Examples
>>> import numpy as np >>> 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, no_plot=True) >>> dn['color_list'] ['C1', 'C0', 'C0', 'C0', 'C0'] >>> hierarchy.set_link_color_palette(['c', 'm', 'y', 'k']) >>> dn = hierarchy.dendrogram(Z, no_plot=True, above_threshold_color='b') >>> dn['color_list'] ['c', 'b', 'b', 'b', 'b'] >>> dn = hierarchy.dendrogram(Z, no_plot=True, color_threshold=267, ... above_threshold_color='k') >>> dn['color_list'] ['c', 'm', 'm', 'k', 'k']
Now, reset the color palette to its default:
>>> hierarchy.set_link_color_palette(None)