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

如何在Python的PCA分析散点图中为数据点添加样本标签

给PCA散点图添加样本名称标签的解决方案

已完成PCA分析并生成按target列着色的散点图,需要为每个数据点添加对应样本名称(数据框的索引)标签,可通过以下修改实现:

修改后的完整代码

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import seaborn
from sklearn.preprocessing import StandardScaler
from sklearn.decomposition import PCA

# 读取数据
raw_data_frame = pd.read_table('/content/drive/MyDrive/BI/colab_input_output/16samples_vaf_df_forpca.csv', 
                               sep=",", header=0, index_col=0)

# 数据标准化
data_scaler = StandardScaler()
scaled_data_frame = data_scaler.fit_transform(raw_data_frame)

# PCA降维
pca = PCA(n_components = 2)
x_pca = pca.fit_transform(scaled_data_frame)

# 绘制散点图
plt.figure(figsize=(10, 7))
plt.scatter(x_pca[:,0], x_pca[:,1], c=raw_data_frame['target'], cmap='viridis')
plt.xlabel('First Principal Component')
plt.ylabel('Second Principal Component')

# 为每个数据点添加样本名称标签
for i, sample_name in enumerate(raw_data_frame.index):
    # 在散点右上方添加标签,偏移量可根据图表调整
    plt.text(x_pca[i, 0] + 0.05, x_pca[i, 1] + 0.05, 
             sample_name, fontsize=8)

plt.show()

关键说明

  • 通过enumerate(raw_data_frame.index)遍历所有样本的名称和对应的下标
  • plt.text()函数负责在指定坐标位置添加文本标签,这里给坐标加了小偏移(+0.05),避免标签覆盖散点,偏移量可根据图表疏密程度调整
  • 调整fontsize参数可以控制标签字体大小,防止文字重叠影响可读性

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.05 21:05:11