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

如何不新增额外列,基于TIME列年份为X-Y散点图的点着色

无需新增列的实现方案

以下是不同常用技术栈的实现方式,所有方案都仅实时计算年份用于配色,不会修改原数据集新增额外字段:

Python(Pandas + Matplotlib 方案)

直接将实时提取的年份序列传入颜色参数即可:

import pandas as pd
import matplotlib.pyplot as plt

# 读取csv时直接解析TIME列为时间格式,不需要额外存储到新列
df = pd.read_csv("your_file.csv", parse_dates=["TIME"])

# 绘图时直接用dt.year从TIME列临时提取年份作为配色依据
scatter = plt.scatter(df["X"], df["Y"], c=df["TIME"].dt.year, cmap="viridis")
# 补充颜色条标注对应年份
plt.colorbar(scatter, label="年份")
plt.xlabel("X")
plt.ylabel("Y")
plt.show()

Python(Seaborn 方案)

hue参数直接传入临时生成的年份序列即可:

import seaborn as sns
import pandas as pd
import matplotlib.pyplot as plt

df = pd.read_csv("your_file.csv", parse_dates=["TIME"])
sns.scatterplot(data=df, x="X", y="Y", hue=df["TIME"].dt.year, palette="viridis")
plt.show()

R 语言(ggplot2 方案)

在美学映射中直接用时间处理函数实时提取年份:

library(tidyverse)
library(lubridate)

df <- read_csv("your_file.csv")
ggplot(df, aes(x = X, y = Y, color = year(ymd_hms(TIME)))) +
  geom_point() +
  labs(color = "年份")

补充说明:如果读取数据时没有提前解析TIME列的格式,也可以在提取年份的步骤中临时转换格式,全程都不会新增数据列。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 19:24:03