news 2026/9/29 7:58:13

Mermaid画甘特图

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Mermaid画甘特图

文章目录

    • 甘特图
    • 基本语法
    • dateFormat格式
    • axisFormat格式

甘特图

甘特图从外观来看,是一种水平条形图,其横轴表示时间,纵轴表示任务,从而直观展示项目进度计划。简单示例如下

08-2008-2108-2208-2308-2408-2508-2608-2708-2808-2908-3008-3109-01需求评审(已完成)架构设计(进行中)核心模块开发(关键)系统联调正式上线(里程碑)需求与设计开发与交付核心功能发布计划

其代码为

gantt title 核心功能发布计划 dateFormat YYYY-MM-DD axisFormat %m-%d section 需求与设计 需求评审(已完成) :done, req1, 2026-08-20, 2d 架构设计(进行中) :active, des1, 2026-08-22, 3d section 开发与交付 核心模块开发(关键) :crit, dev1, after des1, 5d 系统联调 : dev2, after dev1, 2d 正式上线(里程碑) :milestone, m1, after dev2, 0d

甘特图中的四个长条,名字分别是req1, des1, dev1, dev2,最后的菱形里程碑,则是m1。

基本语法

甘特图中,除了时间轴和时间轴之外,剩下的工作就是描述事件,其基本语法为

事件说明 :状态 事件代号, 开始日期, 持续时间

其中,状态共有四种,分别是

  • done:已完成(默认灰色)
  • active:进行中(默认深色)
  • crit:关键路径/核心任务(默认红色高亮)
  • milestone:里程碑,被渲染为菱形,持续时间必须为 0

dateFormat格式

dateFormat为时间轴上的时间日期格式,可选参数如下表所示

输入示例描述
YY YYYY26 2026两位;四位年份
Q1…4年的季度。设置月份为该季度的第一个月
M MM1…12月份数字
MMM MMMM一月…十二月按 dayjs.locale() 设置的区域显示的月份名称
D DD1…31月中的天数
DDD DDDD1…365年中的天数
Do1st…31st带序数的月日
X1410715640.579Unix 时间戳
x1410715640579Unix 毫秒时间戳
H HH0…2324 小时时间
h hh1…1212 小时时间,与 a A 配合使用
a Aam pm上午或下午
m mm0…59分钟
s ss0…59秒
S,SS,SSS0…9秒的小数位(S个数对应位数)
Z ZZ+12:00相对于 UTC 的偏移,格式为 ±HH:mm、±HHmm 或 Z

axisFormat格式

axisFormat是坐标轴上的输出时间格式,可选代码如下表所示。

格式定义
%a %A星期名称(缩写和完整的)
%b %B月份名称(缩写和完整的)
%c日期和时间,格式为 “%a %b %e %H:%M:%S %Y”
%d以零填充的月份中的日期,作为十进制数字 [01,31]
%e月中的日期,以十进制数字表示并用空格填充 [1,31];等同于 %_d
%I %H小时(12小时制和24小时制),十进制数字 [00,23] [01,12]
%j以十进制数字表示的年份中的第几天 [001,366]
%m以小数形式表示的月份 [01,12]
%M分钟的小数形式 [00,59]
%L毫秒,作为十进制数 [000, 999]
%p上午或下午
%S以小数形式表示的秒 [00,61]
%U一年中的第几周(以星期日为一周的第一天),以十进制数字表示 [00,53]
%w作为十进制数字的星期几 [0(星期日),6]
%W一年中的第几周(以星期一为一周的第一天),十进制数字 [00,53]
%x日期,格式为 “%m/%d/%Y”
%X时间,格式为 “%H:%M:%S”
%y无世纪年份的十进制数 [00,99]
%Y以十进制数字表示的带世纪的年份
%Z时区偏移,例如 “-0700”
%%一个字面的“%”字符
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/29 7:57:59

用Dify打造AI复盘助手hindsight:从后见之明到前瞻行动

做复盘这件事,最尴尬的场景我都经历过:项目结束后,大家坐在一起聊了两个小时,最后留在文档里的只是一句“下次要注意沟通”。等真正到了下一次,还是照样踩坑。这也是我第一次看到“hindsight”这个标题时,决…

作者头像 李华
网站建设 2026/9/29 7:57:44

异步加载实战指南:从懒加载到路由分包的首屏提速方案

前端圈这两年都在聊性能优化,什么首屏加载、白屏时间、秒开率,归根结底绕不开一个核心问题:用户拿到页面到真正能操作,到底等了多久。而异步加载,恰恰是我在项目里体会到“性价比最高、收益最明显”的一招。我最早接触…

作者头像 李华
网站建设 2026/9/29 7:57:21

基于labelme的公路隧道漏水分割:27张图小数据集训练与避坑指南

1. 这个27张图的小数据集到底能干什么先说实话,27张图、1个类别、labelme格式的公路隧道漏水分割数据集,放在今天动辄几万张的公开数据集面前,确实小得可怜。但小不代表没用,关键看你怎么用、用在哪。我在实际项目里接手过不少类似…

作者头像 李华
网站建设 2026/9/29 7:55:52

Windows下Ubuntu 20.04/18.04三系统安装与GRUB实战

Ubuntu 20.04 和 18.04 这两个版本放在同一台 Windows 机器上,听起来像是折腾,但在实际工作里这种需求一点都不少见。有人是为了跑 ROS Noetic(20.04 是官方主推)同时又要兼容某个只在 18.04 上编译通过的老项目;有人是…

作者头像 李华
网站建设 2026/9/29 7:55:51

Claude Code与Codex分工实战:AI说完成不等于代码可以提交

最近我的终端里同时跑着 Claude Code 和 Codex。用了一段时间之后,我发现两个问题必须拿出来聊聊:这两个工具到底怎么分工?以及一个更隐蔽的坑——AI agent 在对话框里打出“任务已完成”之后,很多人顺手就把代码 push 上去了&…

作者头像 李华