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

如何用Python创建简易时间轴图表?求实现方案及参考资料

Python 时间轴图表实现方案

一、基于 Matplotlib 的基础时间轴实现

Matplotlib是Python最基础的绘图库,代码逻辑清晰,适合新手快速实现目标效果。以下代码可复刻你需要的竖线式时间轴(带节点、日期和事件文本):

import matplotlib.pyplot as plt
import numpy as np

# 准备时间轴数据,可根据实际需求替换
dates = ["2020-01", "2020-06", "2021-01", "2021-06", "2022-01", "2022-06"]
events = [
    "项目启动",
    "完成需求分析",
    "核心功能开发完成",
    "第一轮测试",
    "正式上线",
    "迭代优化"
]
# 将事件转换为y轴索引,方便排列
y_pos = np.arange(len(dates))

# 创建画布
fig, ax = plt.subplots(figsize=(8, 6))

# 绘制时间轴核心竖线
ax.vlines(x=0, ymin=-1, ymax=len(dates), color='#888888', linewidth=2)

# 绘制事件节点(圆形标记)
ax.scatter([0]*len(dates), y_pos, color='#2E86AB', s=100, zorder=5)

# 添加日期和事件文本
for y, date, event in zip(y_pos, dates, events):
    # 日期显示在时间轴左侧
    ax.text(-0.2, y, date, ha='right', va='center', fontsize=10)
    # 事件描述显示在时间轴右侧
    ax.text(0.2, y, event, ha='left', va='center', fontsize=10)

# 美化图表,隐藏多余坐标轴
ax.set_ylim(-1, len(dates))
ax.set_xlim(-1, 1)
ax.spines[['top', 'right', 'bottom', 'left']].set_visible(False)
ax.set_yticks([])
ax.set_xticks([])

# 添加标题
plt.title("项目时间轴", fontsize=14, pad=20)
plt.tight_layout()
plt.show()

可按需调整的细节:

  • 修改dates和events替换成自己的内容
  • 调整color参数改变线条、节点的颜色
  • 修改figsize调整图表尺寸
  • 调整text的x坐标值,控制文本与时间轴的间距

二、基于 Plotly 的交互式时间轴(可选)

如果需要支持交互(比如鼠标悬停显示详情、缩放),可以用Plotly库,代码更简洁:

import plotly.express as px
import pandas as pd

# 准备数据
df = pd.DataFrame({
    "日期": ["2020-01", "2020-06", "2021-01", "2021-06", "2022-01", "2022-06"],
    "事件": ["项目启动", "完成需求分析", "核心功能开发完成", "第一轮测试", "正式上线", "迭代优化"]
})

# 创建交互式时间轴
fig = px.timeline(df, x_start="日期", x_end="日期", y="事件")
# 反转y轴,让事件按时间顺序从上到下排列
fig.update_yaxes(autorange="reversed")
fig.update_layout(
    title="项目时间轴",
    showlegend=False,
    height=400
)

# 打开浏览器展示交互式图表
fig.show()

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.22 05:37:24