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()

输出

上述代码产生以下输出 −

set_link_color_palette_one

示例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()

输出

上述代码产生以下输出 −

set_link_color_palette_two

示例 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()

输出

上述代码产生以下输出 −

set_link_color_palette_three

scipy_reference.html