使用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个聚类中。最后,我们使用plotly的Scatter图形对象绘制数据点和聚类中心。
在绘制数据点时,我们循环遍历每一个聚类,找到属于该聚类的数据点,并使用go.Scatter创建散点图。我们分别设置每个聚类的不同颜色和名称。
在绘制聚类中心时,我们使用go.Scatter以不同的符号标记聚类中心。
最后,我们使用update_layout函数设置图表的标题和轴标签,并使用show函数来显示聚类图。
这个例子展示了如何使用plotly.graph_objects模块创建聚类图。你可以根据自己的数据集和需求进行相应的调整和修改。
