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

基于Python散点图可视化如何给特定区间变量自动打标签?

Python实现散点变量区间自动打标方案

核心思路为预先定义标签和数值区间的映射规则,批量匹配散点对应的变量值自动打标,无需手动逐个操作,既可以输出你需要的格式化表格,也可以直接绑定到散点图上自动添加标注。

  • 基础实现代码(直接输出要求的格式)
# 1. 自定义标签区间规则,可根据实际业务需求调整阈值条件
def get_label(var1, var2):
    if var1 < 5 and var2 < 100:
        return "low"
    elif var1 > 6 and var2 > 150:
        return "high"
    elif var1 == 5 and var2 == 40:
        return "undervalued"
    # 可补充更多自定义规则
    else:
        return "other"

# 2. 替换为你实际的散点对应变量数据集
point_vars = [
    (3,65),
    (3,40),
    (7,180),
    # 其余散点变量
    (5,40)
]

# 3. 格式化输出结果
print(f"{'var':<6}| label")
print("-"*13)
for v1, v2 in point_vars:
    label = get_label(v1, v2)
    print(f"{v1} {v2:<4}| {label}")
  • 大数据量可选pandas批量处理方案
import pandas as pd

# 替换为实际的散点变量数据
df = pd.DataFrame(point_vars, columns=["var1", "var2"])
# 批量生成标签
df["label"] = df.apply(lambda x: get_label(x["var1"], x["var2"]), axis=1)
# 输出目标格式
print(f"{'var':<6}| label")
print("-"*13)
for _, row in df.iterrows():
    print(f"{row['var1']} {row['var2']:<4}| {row['label']}")
  • 若需要在散点图上自动添加标签,补充如下绘图代码即可
import matplotlib.pyplot as plt

x = [v[0] for v in point_vars]
y = [v[1] for v in point_vars]
labels = [get_label(v[0], v[1]) for v in point_vars]

# 绘制散点
plt.scatter(x, y)
# 自动为每个点添加标签,无需手动设置
for xi, yi, label in zip(x, y, labels):
    plt.text(xi, yi, label, fontsize=9)
plt.show()

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.16 15:54:03