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

如何在Pandas中绘制起止时间对的时间线图表?

用Pandas绘制步骤起止时间图(甘特图样式)

你可以用Matplotlib实现这种展示各步骤起止时间与持续时长的图表,以下是针对你的数据的完整实现:

首先是你的原始数据:

import pandas as pd

data = [['set1', 0,10], ['step2', 3,12], ['step3', 8,15]]
df = pd.DataFrame(data, columns=['name', 'start','end'])

先计算每个步骤的持续时长(可选,但能让图表逻辑更清晰):

df['duration'] = df['end'] - df['start']

接下来用Matplotlib绘制横向条形图(类似甘特图):

import matplotlib.pyplot as plt

# 设置画布尺寸
plt.figure(figsize=(10, 3))

# 绘制横向条形:y轴为步骤名称,条形起始位置对应start值,长度对应持续时长
plt.barh(df['name'], df['duration'], left=df['start'], color='#1f77b4')

# 添加坐标轴标签和标题
plt.xlabel('时间')
plt.ylabel('步骤')
plt.title('各步骤起止时间与持续时长')

# 为每个步骤标注明确的起止时间
for idx, row in df.iterrows():
    plt.text(row['start'], idx, f"开始: {row['start']}", va='center')
    plt.text(row['end'], idx, f"结束: {row['end']}", va='center')

# 调整布局避免标签被截断
plt.tight_layout()
plt.show()

生成的图表会直观展示每个步骤的时间跨度:y轴对应步骤名称,条形的起始点是步骤开始时间,长度代表持续时长,同时标注了明确的起止时间点。

如果需要优化样式,可做以下调整:

  • 修改color参数更换条形颜色
  • 添加plt.grid(axis='x', linestyle='--')显示x轴网格线
  • 调整figsize参数改变画布大小

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.14 03:04:55