百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 热门文章 > 正文

简单、方便的流程图、甘特图做法——Mermaid作图教程

bigegpt 2024-08-10 12:16 8 浏览

从思源笔记换到Obsidian后,第一个让我喜欢上的功能是mermaid作图。说实话,这点有点对不起思源笔记,这个功能思源笔记也有,只是自己之前没有发掘过,在Obsidian上使用了后发现思源笔记也有,甚至感觉效果还比Obsidian好一点,不过没有Obsidian上易用。
作为一个通用的作图方法,Mermaid作图我觉得最大的优势在于简单,方便,如果记录本身只是为了记录,没有美观等要求的情况下,Mermaid作图带来的体验非常棒,今天跟大家分享如何使用Mermaid做流程图和甘特图,为啥是这俩?对我来说,这俩是最常用的。

流程图

流程图目前来说是我在Mermaid里最常用的图,更常用的其实应该是思维导图,但是思维导图在Obsidian中可以直接通过Mind Map插件实现,让我感觉比Mermaid效果更好。
首先是怎么进入Mermaid作图,在Obsidian中是代码块,输入三个点(英文输入法下1左边按键),然后输入mermaid,就进入了mermaid。

打开mermaid

如果是思源笔记,则有个专门的入口,输入斜杠后选择mermaid即可。

mermaid中第一行代表图表类型,流程图是flowchart TD,接下来就可以开始做流程图了。
在mermaid的流程图中,几个基础语法如下:
节点形状:
默认节点形状是方块
id1((名称))则节点形状变为圆 。
id2[(数据库)]则节点形状变为数据库。
id3([名称])则节点形状变成圆角矩形。
线型:
"--" 两个减号代表正常直线连接。
"==" 两个等号代表粗线连接。
“-.-”代表虚线连接。
“>”大于号代表箭头
流程:
A --> B 代表A指向B的一个流程
A --操作-->B 则是在A、B间箭头上添加一个操作文字
一个终点多个起点
A --> C
B --> C
一个起点多个终点
A --> B
A --> C
想怎么写就怎么写,非常顺畅。

flowchart TD
id1((AAA))
id2[(BBB)]
id3([DDD])
id1 ==> id3
id2 -.-> id3
id1 --操作-->id2

甘特图

流程图之后是甘特图,为什么是甘特图?因为甘特图在工作中很容易出彩。我个人来说,有时候领导让我提交某次活动的日程/行程安排,就会在提交行程安排的时候,顺便提交一张甘特图,相对来说就更直观,能一下子抓住眼球。
mermaid中甘特图基本语法如下:
图表类型为gantt。
在开头几行中,要明确图表内容:
dateFormat 日期格式,可以用YYYY-MM-DD代表年月日,也可以HH:mm代表小时与分。
axisFormat 坐标轴格式,格式与dateFormat不同,年月日为%Y-%m-%d,小时与分为%H:%M,
需注意其大小写与dateFormat有些相反!

dateFormt格式与axisFormat 格式对比

title 图名,可以不要。
excludes weekends ,排除周末,可以不写。
如下:

gantt
dateFormat YYYY-MM-DD
title Adding GANTT diagram functionality to mermaid
excludes weekends

接下来是具体内容了。
首先用section 名称开启一个区块,代表一个大的目标/工作内容。
接下来是具体日程安排,按照如下格式:
日程名称 : (可选项,crit,是否是重要日程),(可选项,done/active/空白,日程完成状态),日程开始时间,日程结束/持续事件。
其中日程开始事件可以为具体时间,也可以用after 日程名称来代表在某日程之后,空白则表示紧跟上一项日程。
日程结束/持续事件则可以是具体事件,也可以是3d,2h这样的日程长度。
在具体表现上,crit标注日程在图上会有红色外框。
done标注日程为灰色,active标注日程为白色。
没有日程完成状态的crit日程为整体红色,正常日程则为蓝色。
直接来看看效果吧。

gantt
dateFormat YYYY-MM-DD
title Adding GANTT diagram functionality to mermaid
excludes weekends

section A section Completed task :done, des1, 2014-01-06,2014-01-08 Active task :active, des2, 2014-01-09, 3d Future task : des3, after des2, 5d Future task2 : des4, after des3, 5d section Critical tasks Completed task in the critical line :crit, done, 2014-01-06,24h Implement parser and jison :crit, done, after des1, 2d Create tests for parser :crit, active, 3d Future task in critical line :crit, 5d Create tests for renderer :2d Add to mermaid :1d Functionality added :milestone, 2014-01-25, 0d section Documentation Describe gantt syntax :active, a1, after des1, 3d Add gantt diagram to demo page :after a1 , 20h Add another diagram to demo page :doc1, after a1 , 48h section Last section Describe gantt syntax :after doc1, 3d Add gantt diagram to demo page :20h Add another diagram to demo page :48h

个人使用小贴士:
以上为常规用法,但是如果将dataFormat设置为HH:mm,然后section 名称设置为日期,可以对多天日程进行安排。

gantt
dateFormat HH:mm
axisFormat %H:%M
section 2024-03-14
参加数字化会议: done,08:00,3h
摸鱼: done,0.5h
午休: done,2h
写会议材料: crit,done,3h
section 2024-03-15
修改会议材料: 08:30,3h
午休: 2h
摸鱼: 3h

今天的分享就到这里啦,其实mermaid作图还有非常多的应用,流程图与甘特图也还有非常多的语法,但是我觉得mermaid最大的特点应该是简单、方便,语法过多,更加繁复、美观的图,反倒是失去了mermaid对我来说最大的优点。适合自己的才是最好的。

#头条创作挑战赛##我的今日感悟##职场干货##Obsidian#

相关推荐

C#.NET Autofac 详解(c# autoit)

简介Autofac是一个成熟的、功能丰富的.NET依赖注入(DI)容器。相比于内置容器,它额外提供:模块化注册、装饰器(Decorator)、拦截器(Interceptor)、强o的属性/方法注...

webapi 全流程(webapi怎么部署)

C#中的WebAPIMinimalApi没有控制器,普通api有控制器,MinimalApi是直达型,精简了很多中间代码,广泛适用于微服务架构MinimalApi一切都在组控制台应用程序类【Progr...

.NET外挂系列:3. 了解 harmony 中灵活的纯手工注入方式

一:背景1.讲故事上一篇我们讲到了注解特性,harmony在内部提供了20个HarmonyPatch重载方法尽可能的让大家满足业务开发,那时候我也说了,特性虽然简单粗暴,但只能解决95%...

C# 使用SemanticKernel调用本地大模型deepseek

一、先使用ollama部署好deepseek大模型。具体部署请看前面的头条使用ollama进行本地化部署deepseek大模型二、创建一个空的控制台dotnetnewconsole//添加依赖...

C#.NET 中间件详解(.net core中间件use和run)

简介中间件(Middleware)是ASP.NETCore的核心组件,用于处理HTTP请求和响应的管道机制。它是基于管道模型的轻量级、模块化设计,允许开发者在请求处理过程中插入自定义逻辑。...

IoC 自动注入:让依赖注册不再重复劳动

在ASP.NETCore中,IoC(控制反转)功能通过依赖注入(DI)实现。ASP.NETCore有一个内置的依赖注入容器,可以自动完成依赖注入。我们可以结合反射、特性或程序集扫描来实现自动...

C#.NET 依赖注入详解(c#依赖注入的三种方式)

简介在C#.NET中,依赖注入(DependencyInjection,简称DI)是一种设计模式,用于实现控制反转(InversionofControl,IoC),以降低代码耦合、提高可...

C#从零开始实现一个特性的自动注入功能

在现代软件开发中,依赖注入(DependencyInjection,DI)是实现松耦合、模块化和可测试代码的一个重要实践。C#提供了优秀的DI容器,如ASP.NETCore中自带的Micr...

C#.NET 仓储模式详解(c#仓库货物管理系统)

简介仓储模式(RepositoryPattern)是一种数据访问抽象模式,它在领域模型和数据访问层之间创建了一个隔离层,使得领域模型无需直接与数据访问逻辑交互。仓储模式的核心思想是将数据访问逻辑封装...

C#.NET 泛型详解(c# 泛型 滥用)

简介泛型(Generics)是指在类型或方法定义时使用类型参数,以实现类型安全、可重用和高性能的数据结构与算法为什么需要泛型类型安全防止“装箱/拆箱”带来的性能损耗,并在编译时检测类型错误。可重用同一...

数据分析-相关性分析(相关性 分析)

相关性分析是一种统计方法,用于衡量两个或多个变量之间的关系强度和方向。它通过计算相关系数来量化变量间的线性关系,从而帮助理解变量之间的相互影响。相关性分析常用于数据探索和假设检验,是数据分析和统计建模...

geom_smooth()函数-R语言ggplot2快速入门18

在每节,先运行以下这几行程序。library(ggplot2)library(ggpubr)library(ggtext)#用于个性化图表library(dplyr)#用于数据处理p...

规范申报易错要素解析(规范申报易错要素解析)

为什么要规范申报?规范申报是以满足海关监管、征税、统计等工作为目的,纳税义务人及其代理人依法向海关如实申报的行为,也是海关审接单环节依法监管的重要工作。企业申报的内容须符合《中华人民共和国海关进出口货...

「Eurora」海关编码归类 全球海关编码查询 关务服务

  海关编码是什么?  海关编码即HS编码,为编码协调制度的简称。  其全称为《商品名称及编码协调制度的国际公约》(InternationalConventionforHarmonizedCo...

9月1日起,河南省税务部门对豆制品加工业试行新政7类豆制品均适用投入产出法

全媒体记者杨晓川报道9月2日,记者从税务部门获悉,为减轻纳税人税收负担,完善农产品增值税进项税额抵扣机制,根据相关规定,结合我省实际情况,经广泛调查研究和征求意见,从9月1日起,我省税务部门对豆制品...