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

Python新手求助:基于CSV绘制二维聚类图问题

解决Python二维聚类图绘制问题的实用方案

别着急!作为Python初学者遇到绘图问题太正常了,我来一步步帮你搞定这个二维聚类图的绘制,下面是完整的可落地方案,确保你能得到符合预期的效果。

第一步:准备必要依赖库

首先得确保你装了需要的工具库,我们会用pandas读取CSV数据,matplotlib来绘制散点图。如果还没安装,打开终端运行:

pip install pandas matplotlib

第二步:完整可运行代码示例

假设你的CSV数据结构是这样的(列名对应x、y坐标和label标签):

x,y,label
1.2,3.4,0
2.5,4.1,0
5.3,2.8,1
6.7,3.5,1

直接用下面的代码,记得替换成你的CSV文件路径:

import pandas as pd
import matplotlib.pyplot as plt

# 1. 读取CSV数据文件
df = pd.read_csv("your_data.csv")  # 把这里改成你实际的CSV文件路径

# 2. 按标签分组绘制不同颜色的散点
unique_labels = df['label'].unique()
# 可以根据你的标签数量添加更多颜色
colors = ['#ff6b6b', '#4ecdc4', '#45b7d1', '#96ceb4']

for label, color in zip(unique_labels, colors):
    # 筛选当前标签对应的所有数据点
    cluster_data = df[df['label'] == label]
    # 绘制散点,用颜色区分聚类,添加图例标签
    plt.scatter(cluster_data['x'], cluster_data['y'], c=color, label=f'Cluster {label}', alpha=0.7)

# 3. 给图表添加必要的元素,提升可读性
plt.xlabel('X Coordinate')
plt.ylabel('Y Coordinate')
plt.title('2D Clustering Scatter Plot')
plt.legend()
plt.grid(True, linestyle='--', alpha=0.5)

# 4. 显示图表,或者保存成图片
plt.show()
# 如果需要保存高清图片,取消下面的注释
# plt.savefig('clustering_plot.png', dpi=300, bbox_inches='tight')

第三步:常见问题排查(针对你之前的异常情况)

如果之前代码运行出错或者效果不对,大概率是这几个原因:

  • 文件路径错误:要么把CSV和代码放在同一个文件夹,要么用绝对路径(比如C:/Users/xxx/data.csv)
  • 列名不匹配:检查你的CSV列名是不是x、y、label,如果不是,把代码里的列名改成你实际的列名(比如df['X轴'])
  • 颜色数量不够:如果你的聚类标签数量比colors列表长,会报错,记得补充对应数量的颜色
  • 标签类型问题:就算标签是字符串(比如'cluster_A'),代码依然能运行,不用特意转成数值

效果说明

运行代码后,你会得到每个聚类用不同颜色区分的散点图,完全符合你“忽略质心”的需求。如果想调整点的大小、透明度,只需要修改scatter函数的参数就行(比如s=60设置点的大小,alpha=0.6调整透明度)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.19 03:59:35