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

如何使用Pandas或Matplotlib绘制多类别时间序列折线图?

多类别时间序列折线图实现方案

以下是几种常用工具的实现代码,均能满足你的需求:X轴为时间序列、Y轴为num、每个category对应一条折线。

方法1:Pandas + Matplotlib

适合快速生成静态图表:

import pandas as pd
import matplotlib.pyplot as plt

# 加载数据(替换为你的数据来源,比如CSV/Excel)
df = pd.read_csv('your_data.csv')
# 将date列转换为时间格式,确保X轴按时间排序
df['date'] = pd.to_datetime(df['date'])

# 按类别分组绘制折线
plt.figure(figsize=(10, 6))
for category, group_data in df.groupby('category'):
    plt.plot(group_data['date'], group_data['num'], label=category)

# 配置图表样式
plt.xlabel('时间')
plt.ylabel('数值')
plt.title('多类别时间序列折线图')
plt.legend(title='类别')
plt.xticks(rotation=45)  # 旋转X轴标签避免重叠
plt.tight_layout()  # 自动调整布局
plt.show()

方法2:Seaborn

代码更简洁,内置样式更美观:

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

df = pd.read_csv('your_data.csv')
df['date'] = pd.to_datetime(df['date'])

plt.figure(figsize=(10, 6))
# 直接通过hue参数区分类别
sns.lineplot(data=df, x='date', y='num', hue='category')

plt.xlabel('时间')
plt.ylabel('数值')
plt.title('多类别时间序列折线图')
plt.xticks(rotation=45)
plt.tight_layout()
plt.show()

方法3:Plotly(交互式图表)

支持鼠标悬停查看数据、缩放等交互功能:

import pandas as pd
import plotly.express as px

df = pd.read_csv('your_data.csv')
df['date'] = pd.to_datetime(df['date'])

# 一键生成交互式折线图
fig = px.line(df, x='date', y='num', color='category',
              labels={'date': '时间', 'num': '数值'},
              title='多类别时间序列折线图')
# 旋转X轴标签
fig.update_layout(xaxis_tickangle=-45)
fig.show()

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.15 23:05:30