首页 > 其他分享 >Markdown 达人必备!轻松几步画出专业流程图

Markdown 达人必备!轻松几步画出专业流程图

时间:2024-08-04 10:50:06浏览次数:15  
标签:Markdown 流程图 -- 画出 stroke LR graph 文本

流程图,顾名思义,就是表示一个事件或活动的流程的图示。

快速入门

最简单的例子:从 A 到 B

graph TD
   A --> B

效果:

graph TD A --> B

注意起始的关键字“grpah”是必须的,表明这是流程图。

后续介绍时序图时,该关键字也要改为时序图的关键字:sequenceDiagram。

方向

接下来我们讲讲基本的概念。流程图中,可以有方向:

  • TB、TD:从上到下
  • BT:从下到上
  • RL:从右到左
  • LR:从左到右

从下到上:

graph BT
   A --> B 

效果:

graph BT A --> B

从右到左:

graph RL
   A --> B 

效果:

graph RL A --> B

从左到右:

graph LR
   A --> B 

效果:

graph LR A --> B

最常用的布局方向是

  • 从上向下
  • 从左向右

当然也允许从下向上画、从右向左画,但是这两种很少见。

基本图形

节点除了矩形,还能换成其他形状,这里列出部分:

graph TD
    id[带文本的矩形]
    id4(带文本的圆角矩形)
    id3>带文本的不对称的矩形]
    id1{带文本的菱形}
    id2((带文本的圆形))

效果:

graph TD id[带文本的矩形] id4(带文本的圆角矩形) id3>带文本的不对称的矩形] id1{带文本的菱形} id2((带文本的圆形))

注意,每个形状都是有各自含义的:

  • 圆角矩形:表示开始和结束
  • 矩形:表示过程,也就是整个流程中的一个环节
  • 菱形:表示判断、决策
  • 圆形:表示连接。为避免流程过长或有线段交叉,可将流程切开,圆形即相当于切口处的连接头(成对出现)

graph LR begin(开始) --> open[把冰箱门打开] --> put[把大象放进去] --> point((连接 A )) pointB((连接 A )) --> close[把冰箱门关上] --> close2(结束)

连接线

节点之间的连线,有如下类型:

  • A --> B​:A 带箭头指向 B
  • A --- B​:A 不带箭头指向 B
  • A -.- B​:A 用虚线指向 B
  • A -.-> B​:A 用带箭头的虚线指向 B
  • A ==> B​:A 用加粗的箭头指向 B
  • A -- 描述 --- B​: A 不带箭头指向 B 并在中间加上文字描述
  • A -- 描述 --> B​: A 带箭头指向 B 并在中间加上文字描述
  • A -. 描述 .-> B​: A 用带箭头的虚线指向 B 并在中间加上文字描述
  • A == 描述 ==> B​: A 用加粗的箭头指向 B 并在中间加上文字描述

注意,不同形状的线其实也有各自的含义。如果想要专业一点,可以专门去查查相关文档,什么情况用什么线。

示例:

graph LR
    A[A] --> B[B] 
    A1[A] --- B1[B] 
    A4[A] -.- B4[B] 
    A5[A] -.-> B5[B] 
    A7[A] ==> B7[B] 
    A2[A] -- 描述 --- B2[B] 
    A3[A] -- 描述 --> B3[B] 
    A6[A] -. 描述 .-> B6[B] 
    A8[A] == 描述 ==> B8[B]

效果:

graph LR A[A] --> B[B] A1[A] --- B1[B] A4[A] -.- B4[B] A5[A] -.-> B5[B] A7[A] ==> B7[B] A2[A] -- 描述 --- B2[B] A3[A] -- 描述 --> B3[B] A6[A] -. 描述 .-> B6[B] A8[A] == 描述 ==> B8[B]

子流程图

语法:

subgraph title
    graph definition
end

示例:

graph TB
    c1-->a2
    subgraph one
    a1-->a2
    end
    subgraph two
    b1-->b2
    end
    subgraph three
    c1-->c2
    end

效果:

graph TB c1-->a2 subgraph one a1-->a2 end subgraph two b1-->b2 end subgraph three c1-->c2 end

自定义样式

我们还可以定义边框的样式、颜色。

语法:

style id 具体样式

示例:

graph LR
    id1(Start)-->id2(Stop)
    style id1 fill:#f9f,stroke:#333,stroke-width:4px,fill-opacity:0.5
    style id2 fill:#ccf,stroke:#f66,stroke-width:2px,stroke-dasharray: 10,5

效果:

graph LR id1(Start)-->id2(Stop) style id1 fill:#f9f,stroke:#333,stroke-width:4px,fill-opacity:0.5 style id2 fill:#ccf,stroke:#f66,stroke-width:2px,stroke-dasharray: 10,5

实际案例

说了这么多,来做个有实际价值的案例:绘制一个流程图,找出 A、 B、 C 三个数中最大的一个数。

graph LR
    start[开始] --> input[输入A,B,C]
    input --> conditionA{A是否大于B}
    conditionA -- YES --> conditionC{A是否大于C}
    conditionA -- NO --> conditionB{B是否大于C}
    conditionC -- YES --> printA[输出A]
    conditionC -- NO --> printC[输出C]
    conditionB -- YES --> printB[输出B]
    conditionB -- NO --> printC[输出C]
    printA --> stop[结束]
    printC --> stop
    printB --> stop

效果:

graph LR start[开始] --> input[输入A,B,C] input --> conditionA{A是否大于B} conditionA -- YES --> conditionC{A是否大于C} conditionA -- NO --> conditionB{B是否大于C} conditionC -- YES --> printA[输出A] conditionC -- NO --> printC[输出C] conditionB -- YES --> printB[输出B] conditionB -- NO --> printC[输出C] printA --> stop[结束] printC --> stop printB --> stop

参考

如何在 Markdown 中画流程图 - 简书

Markdown 进阶技能:用代码画流程图(编程零基础也适用)

标签:Markdown,流程图,--,画出,stroke,LR,graph,文本
From: https://www.cnblogs.com/PeterJXL/p/18341526

相关文章

  • 使用Markdown画图
    60.使用Markdown画图大部分Markdown编辑器的画图功能都是基于mermaid的,因此我们先介绍下它。‍什么是mermaid​‍mermaid是一个开源的项目,旨在通过纯文本的形式来画图,支持流程图,时序图,甘特图,类图,状态图和饼图等。官网:mermaid.js.org开源在GitHub:github.com/mermaid......
  • 智能语音转Markdown的神器
    嘿,技术大咖们,今天我要给你们安利一个超酷炫的智能语音转Markdown笔记系统,它融合了前沿的语音识别技术和强大的AI大模型,绝对是记录和整理信息的神器!打造了一个语音转Markdown的神器在线体验:智能语音生成Markdown笔记这个项目基于SenseVoice和多种AI大模型,整合了高效的......
  • 【Docker项目实战】使用Docker部署轻量级Markdown文本编辑器
    【【Docker项目实战】使用Docker部署轻量级Markdown文本编辑器一、项目介绍1.1项目简介1.2使用方法二、本次实践介绍2.1本地环境规划2.2本次实践介绍三、本地环境检查3.1安装Docker环境3.2检查Docker服务状态3.3检查Docker版本3.4检查docke......
  • Markdown入门指南
    Markdown入门指南HelyaHsiung2021.9.27SREINUESTC1.TheTitleofMarkdown(1)Denotetitleusing'='or'-'Firsttitle===========Secondtitle-----------(2)Denotetitleusing'#'#Firsttitle##Secondt......
  • Markdown的使用方法
    Markdown的使用非常简单。以下是一些基本的Markdown语法,可以帮助你开始使用它来格式化文本。标题在文字前面加上#来创建标题。#的数量代表标题的级别。markdown复制#一级标题##二级标题###三级标题####四级标题#####五级标题######六级标题段落与换......
  • Markdown与数学公式
    在写偏理科的文章的时候,多多少少会涉及到一些公式、函数的输入,本篇就来讲讲如何在Markdown中书写数学公式。在此之前,我们先介绍下LaTex和MashJax,Markdown就是基于它们来实现数学公式的输入。LaTex简介LaTex(读作/ˈlɑːtɛx/或/ˈleɪtɛx/),可以理解为是非常......
  • 白盒测试基础与实践:Python示例及流程图设计
    文章目录前言一、白盒测试是什么?主要特点常用方法优点缺点二、白盒测试常用技术语句覆盖判定覆盖条件覆盖判定/条件覆盖条件组合覆盖路径覆盖三、程序流程图设计四、测试用例设计1.基本路径法2.语句覆盖3.判断覆盖4.条件覆盖5.判断/条件覆盖6.条件组合覆盖总结......
  • Apifox 7月更新|SAML 单点登录、迭代分支优化、Markdown 历史记录、搜索能力提升
      1新增「组织」架构引入了全新的「组织」概念,提供更灵活的管理结构。企业可以创建「组织」,并在组织内设立多个「团队」,便于大中型企业能够更有效地组织和管理其项目及人员。通过这种方式,企业可以根据自身的组织结构和业务需求,灵活地分配资源和权限,提高整体的协作效率......
  • 深入了解下 Markdown 的原理
    前面讲了Markdown的基本语法,常见的Markdown编辑器,在继续讲解其他知识之前,有必要稍微深入了解一下Markdown与HTML的关系。‍‍HTML简介什么是HTML?其实它也是标记语言的一种,但是比Markdown更重量级一点,语法更复杂一点。举例,在Markdown中,想要表示某段文字是标题,用......
  • Markdown排版规范
    Markdown语法虽然多,但随便乱用的话反而会显得不美观,本文就推荐一些常见的排版规则。‍‍Markdown标记的使用规范‍标题一级标题,通常是用来写文章的标题。而大部分情况下,文章的标题并不需要写在文章里,大多数博客有专门的位置填写标题,所以一级标题可以忽略。就好比一本书,书......