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

Markdown中类图的用法

Markdown中类图的用法

  • 前言
  • 语法详解
    • 基本流程图
    • 几何图形节点
      • 默认的节点
      • 分离节点的ID与内容
      • 节点形状
        • 圆角形节点的语法
        • 圆形节点的语法。
        • 非对称节点语法
        • 菱形节点的语法。
        • 六角形节点的语法。
        • 平行四边形节点的语法。
        • 梯形节点的语法。
      • 连接线
        • 基本的连接线语法。
        • 无向线段连接线。
        • 点状连接线。
        • 粗实连接线。
      • 视图分组。
      • 冒泡排序流程图。
  • 小结
  • 其他文章
  • 快来试试吧☺️

Markdown中类的用法👈点击这里也可查看

前言

Markdown的原生语法不支持绘制图形,但通过Mermaid扩展,我们可以将一些格式化的文字渲染成我们需要的图形。常用的图形有 “流程图”、“时序图”、“类图”、“状态图”、“甘特图”、“饼图” 等。
Mermaid是一个方便于Markdown文档撰写者通过文本方式生成图形的扩展工具。相比于微软的Visio,它几行文字就可以生成一幅完整且美观的流程图。
本节将重点介绍如何通过 Mermaid 绘制「流程图」。
流程图(flow chart)是体现封闭系统运动状态的有效展示形式,可以让管理者、实现者清晰的认识系统运转流程,也可以直观的描述工作过程。

语法详解

基本流程图

流程图由几何图形节点以及连接点组成。几何图形节点是流程图内的各元素的载体,通常用形状来区分其属性,例如圆形代表开始或结束,菱形代表判断。连接线用于描述几何图形节点之间的联系,可能是有向线段,也可能是无向线段等。
在 Markdown 中添加 Mermaid 图形,需要声明 Mermaid 类型的代码块,代码如下:

​```mermaid
<!-- 此处的内容会被渲染成 mermaid 图形 -->
​```

基本流程图包含:流程图布局方向,几何图形和连接线三个部分组成。
实例一:
基本的竖向流程图。

代码:

​```mermaid
graph TD开始 --> 结束
​```

渲染:

开始
结束

通过修改图表的声明,可以修改流程图的布局方向。例如将上边的流程图转换为横向流程图
实例二:
基本的横向流程图
代码:

​```mermaid
graph LR开始 --> 结束
​```

渲染:

开始
结束

支持的方向有:

标志方向
TBtop bottom - 从上到下
BTbottom top - 从下到上
RLright left - 从右到左
LRleft right - 从左到右
TD等同于 TB

缩写单词含义:
Ttop —Ddown
Lleft—Rright

几何图形节点

默认的节点

几何图形节点是流程图中的核心元素,其要素包括形状和内容。
在mermaid语法中,不加任何修饰的文字内容会被渲染成几何图形节点。
实例三:
默认的几何图形
代码:

​```mermaid
graph LR几何图形中的文本内容
​```

渲染:

几何图形中的文本内容

分离节点的ID与内容

在相对复杂的场景中,同意图形可能被多次引用,如果图形中的文本较长,或者文本内容不足以体现图形的唯一性,可将图形节点的Id与其文本内容分开定义,以使结构更加清晰。
实例四:
将节点的ID和显示文本区分开。
代码:

​```mermaid
graph LR1号节点[在此输入希望在一号节点上显示的文字内容]​```

渲染:

在此输入希望在一号节点上显示的文字内容

节点形状

形状可用于区分节点的不同属性,有利于丰富流程图的信息量,同时保持其简洁性。
在在 Mermaid 中可以使用一些基本符号定义节点的形状,例如:圆角形、跑道形、气缸形、非对称形状、菱形、六角形、平行四边形、梯形。
实例五:

圆角形节点的语法

代码:

​```mermaid
graph TD节点ID(节点显示文本)
​```

渲染:

节点显示文本
圆形节点的语法。

代码:

​```mermaid
graph TD节点ID((节点显示文本))
​```

渲染:

节点显示文本
非对称节点语法

代码:

​```mermaid
graph TD节点ID>节点显示文本]
​```

渲染:

节点显示文本
菱形节点的语法。

代码:

​```mermaid
graph TD节点ID{节点显示文本}
​```

渲染:

节点显示文本
六角形节点的语法。

代码:

```mermaid 
graph TD 
节点ID{{节点显示文本}}
```​

渲染:

节点显示文本
平行四边形节点的语法。

代码:

```mermaid 
graph TD 
右倾平行四边形[/平行四边形--右倾/] 
```​
```mermaid 
graph TD 
左倾平行四边形[\平行四边形--左倾\]​
```​

渲染:

平行四边形--右倾
平行四边形--左倾
梯形节点的语法。

代码:

```mermaid 
graph TD 
梯形[/梯形--正向\]  
```​
```mermaid 
graph TD 
反向梯形[\梯形--反向/]​
```​

渲染:

梯形--正向
梯形--反向

连接线

基本的连接线语法。

实例六:

```mermaid 
graph LR 
A-->B​
```​

渲染:

A
B

不同种类的连接线可以表示不同类型的关系,例如,无方向的连接线可用来表示相关性、有方向的连接线可以表示数据流向或者节点间的依赖关系;用实线表示强关联、用虚线表示弱关联等待。

无向线段连接线。

实例 七

```mermaid 
graph LR 
A --- B -- 带文字连接线 --- C​
```​

渲染:

带文字连接线
A
B
C
点状连接线。
```mermaid 
graph LR 
A -.- B -. 带文字连接线 .-> C​
```​

渲染:

带文字连接线
A
B
C
粗实连接线。
```mermaid 
graph LR 
A ==> B == 带文字连接线 ==> C​
```​

渲染:

带文字连接线
A
B
C

视图分组。

对于相对庞大的流程图,可以通过对视图分组,以区分体系内的不同模块,以及不同模块间的关联关系。
实例 八

```mermaid 
graph TBc1-->a2subgraph 第一组a1-->a2endsubgraph 第二组b1-->b2endsubgraph 第三组c1-->c2end```​

渲染:

第三组
第二组
第一组
c2
c1
b2
b1
a2
a1

冒泡排序流程图。

实例 九

```mermaid 
graph LR执行1[i = 1]执行2[j = 0]执行3[i ++]执行4["a = arr[j], b = arr[j + 1]"]执行5[交换 a, b]执行6[j ++]判断1["i < n"]判断2["j < n - i"]判断3["a > b"]开始 --> 执行1执行1 --> 判断1判断1 --Y--> 执行2执行2 --> 判断2判断2 --Y--> 执行4判断2 --N--> 执行3执行3 --> 判断1执行4 --> 判断3判断3 --N--> 判断2判断3 --Y--> 执行5执行5 --> 执行6执行6 --> 判断2判断1 --N--> 结束
```​

渲染:

Y
Y
N
N
Y
N
i = 1
j = 0
i ++
a = arr[j], b = arr[j + 1]
交换 a, b
j ++
i < n
j < n - i
a > b
开始
结束

小结

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

其他文章

点击此处查看
👉Markdown段落的空行缩进用法
👉Markdown表格的使用
👉Markdown语法字体字号讲解
👉Markdown语法字体字号讲解
👉Markdown如何填充前景色、背景色
👉Markdown代码块,超链接,图片的插入
👉Markdown如何添加任务列表-复选框的添加
👉Markdown中特殊符号的使用
👉Markdown实现代码高亮,注释代码
👉Markdown注释的用法

快来试试吧☺️

http://www.lryc.cn/news/515864.html

相关文章:

  • 钓鱼攻击(Phishing)详解和实现 (网络安全)
  • window11 wsl mysql8 错误分析:1698 - Access denied for user ‘root‘@‘kong.mshome.net‘
  • C++线程同步之条件变量
  • 如何实现多条件搜索
  • 深入MySQL复杂查询优化技巧
  • Fabric环境部署-Git和Node安装
  • 如何弥补开源大语言模型解决推理任务的不足
  • Ubuntu 下载安装 Consul1.17.1
  • 【数据库系统概论】并发控制--复习
  • MySQL(六)MySQL 案例
  • DDcGAN_多分辨率图像融合的双鉴别条件生成对抗网络_y译文马佳义
  • [读书日志]从零开始学习Chisel 第一篇:书籍介绍,Scala与Chisel概述,Scala安装运行(敏捷硬件开发语言Chisel与数字系统设计)
  • 二、用例图
  • LWIP之一:使用STM32CubeMX搭建基于FreeRTOS的LWIP工程并分析协议栈初始化过程
  • 个性化电影推荐系统|Java|SSM|JSP|
  • UE5AI感知组件
  • 每日一学——日志管理工具(ELK Stack)
  • “智能筛查新助手:AI智能筛查分析软件系统如何改变我们的生活
  • DeepSeek v3为何爆火?如何用其集成Milvus搭建RAG?
  • linux-centos-安装miniconda3
  • html+css+js网页设计 美食 好厨艺西餐美食企业网站模板6个页面
  • QT-窗口嵌入外部exe
  • C#中使用系统默认应用程序打开文件
  • 如何在 Ubuntu 22.04 上配置 Logrotate 高级教程
  • java项目之校园管理系统的设计与实现(源码+文档)
  • 关于 webservice 日志中 源IP是node IP的问题,是否能解决换成 真实的客户端IP呢
  • Serializable接口
  • 如何操作github,gitee,gitcode三个git平台建立镜像仓库机制,这样便于维护项目只需要维护一个平台仓库地址的即可-优雅草央千澈
  • 【HDU】1089 A+B for Input-Output Practice (I)
  • lua库介绍:数据处理与操作工具库 - leo