欢迎访问宙启技术站
智能推送

使用plotly.graph_objects创建聚类图

发布时间:2024-01-05 12:00:44

plotly.graph_objects是Plotly库中的一个模块,用于创建交互式的数据可视化图表。聚类图是一种将数据点按照其相似性进行分组的图表,其中每个数据点被归类到一个或多个聚类中。聚类图可以帮助我们理解数据集中的模式和关系。

下面是一个使用plotly.graph_objects创建聚类图的例子:

import plotly.graph_objects as go
import numpy as np
from sklearn.datasets import make_blobs
from sklearn.cluster import KMeans

# 生成随机的聚类数据
X, y = make_blobs(n_samples=100, centers=3, random_state=0)

# 运行聚类算法
kmeans = KMeans(n_clusters=3)
kmeans.fit(X)

# 聚类分配
labels = kmeans.labels_

# 绘制聚类图
fig = go.Figure()

# 绘制数据点
for cluster in range(kmeans.n_clusters):
    fig.add_trace(go.Scatter(x=X[labels == cluster][:, 0],
                             y=X[labels == cluster][:, 1],
                             mode='markers',
                             name=f'Cluster {cluster}')
                )

# 绘制聚类中心
fig.add_trace(go.Scatter(x=kmeans.cluster_centers_[:, 0],
                         y=kmeans.cluster_centers_[:, 1],
                         mode='markers',
                         name='Cluster Centers')
              )

# 设置图表布局和标题
fig.update_layout(title='Cluster Analysis',
                  xaxis=dict(title='X'),
                  yaxis=dict(title='Y'),
                  showlegend=True
                 )

# 展示聚类图
fig.show()

在这个例子中,我们首先使用make_blobs生成一个具有3个聚类中心和100个数据点的数据集。然后,我们使用KMeans算法将数据点分配到3个聚类中。最后,我们使用plotlyScatter图形对象绘制数据点和聚类中心。

在绘制数据点时,我们循环遍历每一个聚类,找到属于该聚类的数据点,并使用go.Scatter创建散点图。我们分别设置每个聚类的不同颜色和名称。

在绘制聚类中心时,我们使用go.Scatter以不同的符号标记聚类中心。

最后,我们使用update_layout函数设置图表的标题和轴标签,并使用show函数来显示聚类图。

这个例子展示了如何使用plotly.graph_objects模块创建聚类图。你可以根据自己的数据集和需求进行相应的调整和修改。