当前位置: 首页 > article >正文

Markdown中甘特图的使用

Markdown中甘特图的使用

  • 1. 前言
  • 2. 语法详解
    • 2.1 甘特图语法
  • 3. 使用场景及实例
  • 4. 小结
  • 5. 其他文章
  • 快来试试吧🖊️

Markdown中甘特图的使用 👈点击这里也可查看

1. 前言

Markdown 的原生语法不支持绘制图形,但通过扩展模块,我们可以将一些格式化的文字渲染成我们需要的图形。常用的图形有 “流程图”、“时序图”、“类图”、“状态图”、“甘特图”、“饼图” 等。

本节将重点介绍如何通过 Mermaid 绘制「甘特图」。

甘特图 (Gantt chart) 也被称为横道图、条状图(Bar chart)。通常用于展示项目进度,它的核心对象是「时间」,并在时间的基础上,展示了「成本」和「范围」之间的联系。

2. 语法详解

2.1 甘特图语法

2.1.1 一个基本的甘特图
基本上的甘特图由标题,日期格式约定,分组及任务三部分组成。

实例一:
一个基本的甘特图。

代码:

​```mermaid
 gantt
 苹果 :a, 2017-07-20, 1w
 香蕉 :crit, b, 2017-07-23, 1d
 樱桃 :active, c, after b a, 1d
​```

渲染:

2017-07-20 2017-07-21 2017-07-22 2017-07-23 2017-07-24 2017-07-25 2017-07-26 2017-07-27 2017-07-28 苹果 香蕉 樱桃

2.1.2 规定日期格式
通过设置dateFotmat属性,可以指定甘特图定义日期时的解析方式。
日期的格式支持以下情形。

表达式取值示例描述
YYYY20254 位数年
YY142 位数年
Q1…4季度数
M MM1…12月份数
MMM MMMMJanuary…Dec月份名称
D DD1…31月中天数
Do1st…31st月中第几天
DDD DDDD1…365年中天数
X1410715640.579Unix 时间戳(秒)
x1410715640579Unix 时间戳(毫秒)
H HH0…2324 小时制小时数
h hh1…1212 小时制小时数
a Aam pm上午、下午
m mm0…59分钟数
s ss0…59秒钟数
S0…9十分之一秒
SS0…99百分之一秒
SSS0…999千分之一秒
Z ZZ+12:00时区
2.1.3 任务的定义
Mermaid甘特图中,每个人物隶属于一个分组,一个分组内可以定义多个任务,一张甘特图表中可以包含多个分组。
甘特图中的任务定义格式形如:<任务名>:[crit], [active], [任务ID], [前置任务], <周期>,其中「任务名」和「周期」两项是必要项。

实例二:
在甘特图中定义任务。
代码:

​```mermaid
gantt
    title A Gantt Diagram
    section Section
    A task           :a1, 2024-01-01, 30d
    Another task     :after a1  , 20d
    section Another
    Task in sec      :2024-02-12  , 12d
    another task    : 24d
​```

渲染:

2024-01-07 2024-01-14 2024-01-21 2024-01-28 2024-02-04 2024-02-11 2024-02-18 2024-02-25 2024-03-03 2024-03-10 2024-03-17 A task Another task Task in sec another task Section Another A Gantt Diagram

2.1.4 定义对象的生命周期
甘特图上的对象都是以时间为基础而存在的,对于时间,我们可能有非常多的定义需求,比如精度上的「年」、「月」、「日」、「时」等,又比如「24H」或者 「12H」这样写法上的不同等。Mermaid 为时间提供了丰富的语法支持。
完整的定义语法如下:

%a - 周维度名称(简写形式)。
%A - 周维度名称(完整形式)。
%b - 月维度名称(简写形式)。
%B - 月维度名称(完整形式).
%c - 日期时间,相当于"%a %b %e %H:%M:%S %Y"%d - 月中日期固定宽度写法,取值范围 [01,31].
%e - 月中日期变动宽度写法,取值范围 [ 1,31];等同于 %_d.
%H - 小时数(24小时制)取值范围 [00,23]%I - 小时数(12小时制)取值范围 [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"%% - 用于输出百分号 "%"

3. 使用场景及实例

实例三:
代码:

​```mermaid
gantt
 dateFormat :YYYY-MM-DD
 title :甘特图实例

 section 基本任务
 已完成任务 :done, des1, 2014-01-06,2014-01-08
 进行中任务 :active, des2, 2014-01-09, 3d
 未开始任务1 : des3, after des2, 5d
 未开始任务2 : des4, after des3, 5d

 section 紧急任务
 已完成的紧急任务 :crit, done, 2014-01-06,24h
 已完成紧急任务1 :crit, done, after des1, 2d
 进行中紧急任务2 :crit, active, 3d
 未开始紧急任务3 :crit, 5d
 未开始一般任务4 :2d
 未开始一般任务5 :1d

 section 文档编写
 进行中文档任务1 :active, a1, after des1, 3d
 未开始文档任务2 :after a1 , 20h
 未开始文档任务3 :doc1, after a1 , 48h

 section 其他部分
 其他任务1 :after doc1, 3d
 其他任务2 :20h
 其他任务3 :48h

​```

渲染:

2025-01-11 2025-01-12 2025-01-13 2025-01-14 2025-01-15 2025-01-16 2025-01-17 2025-01-18 2025-01-19 2025-01-20 2025-01-21 2025-01-22 2025-01-23 已完成任务 进行中任务 已完成的紧急任务 已完成紧急任务1 进行中文档任务1 进行中紧急任务2 未开始任务1 未开始文档任务2 未开始文档任务3 未开始紧急任务3 其他任务1 未开始任务2 其他任务2 其他任务3 未开始一般任务4 未开始一般任务5 基本任务 紧急任务 文档编写 其他部分 :甘特图实例

4. 小结

  • Mermaid 为 Markdown 扩展了使用普通文本生成甘特图的语法及渲染支持;
  • Mermaid 可以用文本形式描述甘特图中的「标题」、「日期格式约定」、「分组及任务」;
  • Mermaid 甘特图支持自定义节点样式,使其具备更丰富的表现力。

如果对您有帮助,请您点赞、收藏、关注、转发,让更多的人看到。

5. 其他文章

Markdown文章集合
👉Markdown中状态图的用法
👉Markdown时序图的使用方法
👉Markdown中类图的用法
👉Markdown中流程图的用法
👉Markdown表格的使用
👉Markdown如何导出Html文件Markdown文件
👉Markdown是什么?.md文件是什么?
👉Markdown段落的空行缩进用法
👉Markdown表格的使用
👉Markdown语法字体字号讲解
👉Markdown如何填充前景色、背景色
👉Markdown代码块,超链接,图片的插入
👉Markdown如何添加任务列表-复选框的添加
👉Markdown中特殊符号的使用
👉Markdown实现代码高亮,注释代码
👉Markdown注释的用法

快来试试吧🖊️


http://www.kler.cn/a/488042.html

相关文章:

  • k8s的原理和,k8s的安装
  • 《零基础Go语言算法实战》【题目 1-14】字符串的替换
  • 代码随想录算法训练营day27
  • 备考蓝桥杯:顺序表相关算法题
  • C语言的语法
  • Profinet转EtherNet/IP网关连接AB PLC的应用案例
  • 需求:h5和小程序预览图片需要有当前第几张标识
  • 人工智能知识分享第九天-机器学习_集成学习
  • Center Loss 和 ArcFace Loss 笔记
  • socket网络编程-TC/IP方式
  • 《解锁数据科学的魔法盒子:JupyterLab 全面解析》
  • 什么是VLAN?
  • eslint.config.js和.eslintrc.js有什么区别
  • flutter 开启了服务并隐藏后如何关闭
  • Jmeter_后置处理beanshell
  • 监控异地组网有哪些方法,含神卓S700设置教程
  • 移远BC28_opencpu方案_pin脚分配
  • 【深度学习基础】线性神经网络 | softmax回归
  • QTcpSocket 如何统计在线时长
  • 数据结构——栈的实现
  • 在idea中配置多个版本的jdk
  • 【机器学习:十二、TensorFlow简介及实现】
  • 【前端知识】手搓微信小程序
  • 【运维】如何检查电脑正常异常和关机日志? 1074正常关机或重启 6006正常关机 41非正常关机 6008异常关机
  • 单片机-直流电机实验
  • 【Maui】动态菜单实现(绑定数据视图)