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

如何在Seaborn中按指定日期(每次2个)使用hue绘制折线图

解决方法:筛选指定日期绘制折线图

步骤1:预处理日期列(关键)

首先确保CSV中的Date列被正确识别为日期类型,否则筛选可能出错:

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

# 读取数据集
df = pd.read_csv("your_dataset.csv")
# 转换Date列为datetime格式,根据你的日期格式调整format参数(示例为dd-mm-yyyy)
df["Date"] = pd.to_datetime(df["Date"], format="%d-%m-%Y")

步骤2:筛选目标日期的数据

定义你想绘制的两个日期,然后从原数据集中筛选出对应行:

# 指定要对比的两个日期(格式需与转换后的Date列一致)
target_dates = [pd.to_datetime("2022-08-21"), pd.to_datetime("2022-09-01")]
# 筛选出仅包含这两个日期的数据
filtered_df = df[df["Date"].isin(target_dates)]

也可以直接用字符串筛选(前提是Date列已转为datetime):

target_dates = ["2022-08-21", "2022-09-01"]
filtered_df = df[df["Date"].isin(target_dates)]

步骤3:绘制折线图

基于筛选后的子集绘图,此时只会显示指定的两条折线:

plt.figure(figsize=(10, 6))
# 用筛选后的数据绘图,hue依然用Date区分两条线
ax = sns.lineplot(data=filtered_df, x="x", y="y", hue="Date")
plt.title("X vs Y for Selected Dates")
plt.show()

注意事项

  • 如果你的原始日期格式不是dd-mm-yyyy,请修改pd.to_datetime中的format参数,比如yyyy-mm-dd对应%Y-%m-%d,mm/dd/yyyy对应%m/%d/%Y。
  • 若要快速切换不同日期组合,只需修改target_dates列表中的值即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.17 16:15:49