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

如何解决scatter chart中text labels被替换为数字无法正常显示的问题

散点图绑定自定义文本标签配置方案

涉及数据集结构

  • 文本标签列取值:Dec-20、Jan+21、Feb-21、Mar+21、Apr_21
  • Ham字段对应数值:20、1、0.5、0.9、0.1
  • spam字段对应数值:0.5、3、15、4、1
  • 异常表现:绘图时原有自定义文本标签被自动替换为数字序号,无法和数据点绑定显示

解决方法

出现数字序号替换自定义标签的问题,本质是绘图时没有显式指定标签映射规则,也没有添加文本标注图层,以下是最常用的Python Matplotlib环境下的正确配置代码:

import matplotlib.pyplot as plt
import pandas as pd

# 加载/构造目标数据集
df = pd.DataFrame({
    'text_label': ['Dec-20', 'Jan+21', 'Feb-21', 'Mar+21', 'Apr_21'],
    'Ham': [20, 1, 0.5, 0.9, 0.1],
    'spam': [0.5, 3, 15, 4, 1]
})

# 绘制基础散点图
plt.scatter(data=df, x='Ham', y='spam')

# 核心配置:逐点绑定对应文本标签
for _, row in df.iterrows():
    # 可调整xytext参数设置标签和散点的偏移距离,避免遮挡
    plt.text(
        x=row['Ham'],
        y=row['spam'],
        s=row['text_label'],
        xytext=(6, 6),
        textcoords='offset points'
    )

# 配置坐标轴名称
plt.xlabel('Ham')
plt.ylabel('spam')
plt.show()

如果是使用R语言ggplot2绘图,核心逻辑相同:在散点图层后追加geom_text(aes(label = 文本标签列名))图层,即可绑定显示对应文本,不会被替换为数字序号。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.02 07:57:26