You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用Matplotlib绘制n=3降维结果的3D聚类散点图

3D聚类散点图实现方法

前置准备

先将t-SNE、PCA、TruncatedSVD三个降维算法的降维维度参数设置为n_components=3,重新运行降维流程,得到三个形状为(样本总量, 3)的三维降维结果数组:X_reduced_tsne、X_reduced_pca、X_reduced_svd。

代码修改逻辑

原有2D代码只需要调整两处核心逻辑即可适配3D绘图:

  • 创建子图时传入subplot_kw={'projection': '3d'},将三个坐标轴声明为3D投影类型
  • 所有scatter()散点绘制方法中,额外传入第三维度(数组索引为2的列)的坐标值
  • 其余配色、图例、标题、网格的配置逻辑和2D版本完全一致,无需调整

修改后完整代码

import matplotlib.pyplot as plt
import matplotlib.patches as mpatches

# 创建1行3列的3D子图
f, (ax1, ax2, ax3) = plt.subplots(1, 3, figsize=(24, 8), subplot_kw={'projection': '3d'})
f.suptitle('3D Clusters using Dimensionality Reduction', fontsize=14)

# 图例配置
blue_patch = mpatches.Patch(color='#0A0AFF', label='No Fraud')
red_patch = mpatches.Patch(color='#AF0000', label='Fraud')

# t-SNE 3D散点图
ax1.scatter(X_reduced_tsne[:,0], X_reduced_tsne[:,1], X_reduced_tsne[:,2], c=(y == 0), cmap='coolwarm', label='No Fraud', linewidths=2)
ax1.scatter(X_reduced_tsne[:,0], X_reduced_tsne[:,1], X_reduced_tsne[:,2], c=(y == 1), cmap='coolwarm', label='Fraud', linewidths=2)
ax1.set_title('t-SNE', fontsize=14)
ax1.grid(True)
ax1.legend(handles=[blue_patch, red_patch])

# PCA 3D散点图
ax2.scatter(X_reduced_pca[:,0], X_reduced_pca[:,1], X_reduced_pca[:,2], c=(y == 0), cmap='coolwarm', label='No Fraud', linewidths=2)
ax2.scatter(X_reduced_pca[:,0], X_reduced_pca[:,1], X_reduced_pca[:,2], c=(y == 1), cmap='coolwarm', label='Fraud', linewidths=2)
ax2.set_title('PCA', fontsize=14)
ax2.grid(True)
ax2.legend(handles=[blue_patch, red_patch])

# TruncatedSVD 3D散点图
ax3.scatter(X_reduced_svd[:,0], X_reduced_svd[:,1], X_reduced_svd[:,2], c=(y == 0), cmap='coolwarm', label='No Fraud', linewidths=2)
ax3.scatter(X_reduced_svd[:,0], X_reduced_svd[:,1], X_reduced_svd[:,2], c=(y == 1), cmap='coolwarm', label='Fraud', linewidths=2)
ax3.set_title('Truncated SVD', fontsize=14)
ax3.grid(True)
ax3.legend(handles=[blue_patch, red_patch])

plt.tight_layout()
plt.show()

补充说明:运行后生成的3D图支持鼠标拖拽旋转视角,可以从不同维度观察两类样本的聚类分布效果。

内容的提问来源于stack exchange,提问作者feruciform

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.03 11:15:41