SciPy - set_link_color_palette(s) 方法
SciPy set_link_color_palette() 方法用于执行 matplotlib 颜色代码的操作。它允许用户在树状图中表示不同聚类时设置自定义颜色。此方法是 scipy.cluster.hierarchy 模块的一部分。
以下是此方法在数据分析中的用法 −
- 层次聚类可视化:这显示不同聚类的不同颜色数据。
- 数据呈现:数据更具可读性,并且具有视觉吸引力。
- 模式识别:这有助于我们识别聚类并与更大的数据集建立关系。
语法
以下是 SciPy set_link_color_palette() 方法的语法 −
set_link_color_palette(['color_code_1', 'color_code_2', ...])
参数
此方法接受基于数据输入的自定义调色板。
返回值
此方法不返回任何类型。
示例 1
以下是 SciPy set_link_color_palette() 方法,它说明了给定输入数据中的不同调色板。
import numpy as np import matplotlib.pyplot as plt from scipy.cluster.hierarchy import dendrogram, linkage, set_link_color_palette # 给定数据 X = np.array([[1, 2], [3, 4], [5, 6], [7, 8], [9, 10]]) # 层次/聚集聚类 res = linkage(X, 'ward') # 设置自定义调色板 set_link_color_palette(['r', 'g', 'b', 'c', 'm', 'y']) # 绘制树状图 dendrogram(res) plt.show()
输出
上述代码产生以下输出 −

示例2
在这里,我们使用 random.rand() 设置给定的数据,并借助十六进制颜色代码显示调色板(例如 #33FF57)。
import numpy as np import matplotlib.pyplot as plt from scipy.cluster.hierarchy import dendrogram, linkage, set_link_color_palette # 给定数据 X = np.random.rand(10, 2) # 层次/聚集聚类 res = linkage(X, 'single') # 使用十六进制颜色代码设置自定义调色板 set_link_color_palette(['#FF5733', '#33FF57', '#3357FF', '#FF33A1']) # 绘制树状图 dendrogram(res) plt.show()
输出
上述代码产生以下输出 −

示例 3
下面的程序演示了调色板使用 set_link_color_palette() 获得更大的数据集。
import numpy as np import matplotlib.pyplot as plt from scipy.cluster.hierarchy import dendrogram, linkage, set_link_color_palette # 给定数据 X = np.random.rand(50, 2) # 层次/聚集聚类 res = linkage(X, 'complete') # 设置更大的自定义调色板 palette = ['#FF0000', '#00FF00', '#0000FF', '#FFFF00', '#FF00FF', '#00FFFF', '#800000', '#808000', '#008000', '#800080', '#008080', '#000080'] set_link_color_palette(palette) # 绘制树状图 dendrogram(res) plt.show()
输出
上述代码产生以下输出 −
