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
dendrogramalso accepts a custom coloring function through itslink_color_funckeyword, 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
Noneadded in SciPy 0.17.0.Thread safety: using this function in a multi-threaded fashion may result in
dendrogramproducing 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)