【Markdown】【mermaid】Mermaid 简介:使用Markdown动态创建和修改图表

什么是 Mermaid

Mermaid 是一个基于 JavaScript 的图表和图解工具,可以让你使用文本和代码创建图表和可视化内容。它使用受 Markdown 启发的文本定义来动态创建和修改图表。如果你熟悉 Markdown,学习 Mermaid 的语法应该不成问题。

Mermaid 的主要目的是帮助文档跟上开发的步伐。Doc-Rot 是一个 Mermaid 帮助解决的 Catch-22 问题。绘图和文档编写会占用宝贵的开发时间,并且很快就会过时。但是没有图表或文档会降低生产力并损害组织的学习能力。Mermaid 通过让用户能够创建易于修改的图表来解决这个问题,它也可以成为生产脚本(以及其他代码片段)的一部分。Mermaid 甚至允许非程序员通过 Mermaid Live Editor 轻松创建详细的图表。

图表类型

Mermaid 支持多种类型的图表,包括:

  1. 流程图 (Flowchart)
  2. 序列图 (Sequence diagram)
  3. 甘特图 (Gantt diagram)
  4. 类图 (Class diagram)
  5. Git 图 (Git graph)
  6. 实体关系图 (Entity Relationship Diagram) - 实验性
  7. 用户旅程图 (User Journey Diagram)
  8. 象限图 (Quadrant Chart)
  9. XY 图 (XY Chart)

下面我们将详细介绍每种图表类型及其示例。

1. 流程图 (Flowchart)

流程图用于描述过程的步骤和决策点。下面是一个简单的流程图示例:

A
B
C
D

2. 序列图 (Sequence diagram)

序列图用于显示对象之间的交互以及交互发生的顺序。下面是一个简单的序列图示例:

Alice John Hello John, how are you? Great! Alice John

3. 甘特图 (Gantt diagram)

甘特图常用于项目管理,用于显示项目的时间表和里程碑。下面是一个简单的甘特图示例:

2014-01-05 2014-01-12 2014-01-19 2014-01-26 2014-02-02 2014-02-09 2014-02-16 A task Another task Section A Gantt Diagram

4. 类图 (Class diagram)

类图用于描述系统的静态结构,显示系统的类、它们的属性、操作以及它们之间的关系。下面是一个简单的类图示例:

Animal
+int age
+String gender
+isMammal()
+mate()
Duck
+String beakColor
+swim()
+quack()
Fish
-int sizeInFeet
-canEat()
Zebra
+bool is_wild
+run()

5. Git 图 (Git graph)

Git 图用于可视化 Git 分支和合并历史。下面是一个简单的 Git 图示例:

master, 9e31086

1de180d

1bad6b9

427a977

newbranch, 749bd3c

08ed6b6

6. 实体关系图 (Entity Relationship Diagram)

实体关系图(ERD)用于描述系统中的实体及其关系。这是一个实验性功能。下面是一个简单的 ERD 示例:

CUSTOMER ORDER LINE-ITEM DELIVERY-ADDRESS places contains uses

7. 用户旅程图 (User Journey Diagram)

用户旅程图描述用户与系统交互的过程。下面是一个简单的用户旅程图示例:

Cat Me
Go to work
Go to work
Me
Make tea
Make tea
Me
Go upstairs
Go upstairs
Me Cat
Do work
Do work
Go home
Go home
Me
Go downstairs
Go downstairs
Me
Sit down
Sit down
My working day

8. 象限图 (Quadrant Chart)

象限图可用于比较不同选项的优先级或对选项进行分类。下面是一个简单的象限图示例:

quadrantCharttitle Reach and engagement of campaignsx-axis Low Reach --> High Reachy-axis Low Engagement --> High Engagementquadrant-1 We should expandquadrant-2 Need to promotequadrant-3 Re-evaluatequadrant-4 May be improvedCampaign A: [0.3, 0.6]Campaign B: [0.45, 0.23]Campaign C: [0.57, 0.69]Campaign D: [0.78, 0.34]Campaign E: [0.40, 0.34]Campaign F: [0.35, 0.78]

9. XY 图 (XY Chart)

XY 图用于显示两个变量之间的关系。下面是一个简单的 XY 图示例:

xychart-betatitle "Sales Revenue"x-axis [jan, feb, mar, apr, may, jun, jul, aug, sep, oct, nov, dec]y-axis "Revenue (in $)" 4000 --> 11000bar [5000, 6000, 7500, 8200, 9500, 10500, 11000, 10200, 9200, 8500, 7000, 6000]line [5000, 6000, 7500, 8200, 9500, 10500, 11000, 10200, 9200, 8500, 7000, 6000]

这些只是 Mermaid 支持的图表类型的一小部分示例。Mermaid 的文档提供了更多详细信息和高级用法。

安装和使用

Mermaid 可以通过 CDN 或 npm 安装。详细的安装和使用指南可以在 Mermaid 的文档中找到。

Mermaid 还有一个在线编辑器 Mermaid Live Editor,即使是非程序员也可以轻松创建图表。

此外,Mermaid 可以与许多流行的应用程序集成,如 GitHub、GitLab、Visual Studio Code 等。社区集成列表提供了更多信息。

贡献和支持

Mermaid 是一个开源项目,欢迎社区贡献。如果你想参与 Mermaid 的开发,可以查看贡献指南。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/762105.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【现代C++】范围基于的for循环

现代C中的范围基于的for循环(range-based for loop)是C11引入的一项特性,旨在简化对容器或范围的迭代过程。这种循环语法不仅使代码更清晰易读,还减少了迭代时的错误。以下是范围基于的for循环的详细介绍: 1. 基本用法…

CTK插件框架学习-源码下载编译(01)

1、编译环境 window11、vs17、Qt5.14.0、cmake3.27.4 2、下载链接 cmake:Index of /files/v3.20 qt:Index of / vs22以前的版本需要登录下载:Visual Studio 较旧的下载 - 2019、2017、2015 和以前的版本 vs22下载:下载 Visu…

华为OD机试真题实战应用【赛题代码篇】-整数与IP地址间的转换(附Java、C++和python代码实现)

目录 问题描述 输入描述: 输出描述: 示例: 代码实现 Java 代码2 代码3

Arduino IDE工程代码多文件编程和中文设置

一、esp8266模块信息 二、中英文切换 点击文件( File )–选择首选项( Preference )—选择语言( Language )—选择中文–点击确定( OK ) 三、多文件编程 在Arduino编程中,将代码分割成多个文件是一种很好的做法,特别是项目变得越来越大和复杂时。这样…

Linux 系统是如何收发⽹络包的

Linux 系统是如何收发⽹络包的? ⽹络模型 为了使得多种设备能通过⽹络相互通信,和为了解决各种不同设备在⽹络互联中的兼容性问题,国际标准化组织制定了开放式系统互联通信参考模型(Open System Interconnection Reference Mode…

亚马逊云科技:企业如何开启生成式AI之旅?

如果要评选最近两年全球科技行业最热门的细分领域,那么生成式AI绝对会以遥遥领先的票数成为当仁不让的冠军。 然而眼见生成式AI发展得如火如荼,越来越多的企业却陷入了深深的焦虑:应该如何开启生成式AI之旅?又该怎样搭建大模型&am…

对七层代理、四层代理、正向代理、反向代理的认识

一、理解nginx服务代理 Nginx代理有正向和反向代理两种类型,可以基于osi七层模型中的第四层(传输层)和第七层(应用层)进行代理 注: nginx 一般支持的是7层代理,支持四层代理一般使用 lvs 或者ha…

Data.olllo:一键去除相同内容数据列!

引言: 在数据处理的舞台上,重复数据常常像调皮的小精灵一样,频繁出现,让人头疼不已。但现在,有了Data.olllo的神奇功能,您可以一键去除相同内容数据列,让数据处理变得轻松愉快! 功能…

Android中广播的基本介绍

文章目录 1. 广播的概念2. 广播的基本组成2.1 广播发送器2.2 广播接收器 3. 广播注册3.1 动态注册3.2 静态注册 1. 广播的概念 BroadcastReceiver,广播接收器,是Android四大组件之一,可用来跨进程通信的一种机制。当然,也可以用于…

虹科Pico汽车示波器 | 免拆诊断案例 | 2019 款东风悦达起亚K2车怠速起停系统工作异常

一、故障现象 一辆2019款东风悦达起亚K2车,搭载G4FG发动机,累计行驶里程约为9 400 km。车主反映,行驶至路口停车等红灯时,怠速起停(ISG)系统自动使发动机熄火,接着组合仪表提示“怠速起停已解除…

某东联盟js逆向

声明: 本文章中所有内容仅供学习交流使用,不用于其他任何目的,抓包内容、敏感网址、数据接口等均已做脱敏处理,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关!wx a15018601872 本文章…

mysql无法看到3306端口监听

参考:https://blog.csdn.net/shumeigang/article/details/103902459 mysql> show global variables like ‘port’; 是0 原因是我的my.cnf有话: skip-network 或 注释掉,然后重新启动下数据库,运行netstat -an|grep 3306 就可以看到了

C#非强签名dll搜索顺序

由于不是强签名dll,所以无效考虑全局程序集缓存 (GAC)。 预备工作 新建解决方案ClassLibrary1,新建类库ClassLibrary1,新建控制台程序ShowDllLoc。 利用VS添加引用。 一,利用app.config设置codebase,设置dll的加载路径为:code…

Java中的类与对象

面向对象 设计对象并使用 类: 是共同特征的描述(设计图) 对象: 是真实存在的具体实例 Javabean类: 用来描述一类事物的类,在Javabean类里是不写main方法的 注意: 类名首字母要大写,见名知意,(驼峰模式) 注意: 在实际开发中,建议一个文件定义一个class类 代码: package com.…

C#探索之路基础篇(1):编程中面向过程、数据、对象的概念辨析

文章目录 C#探索之路基础篇(1):编程中面向过程、数据、对象的概念辨析1 面向过程编程1.1 概念1.2 示例代码:1.3 使用范围与时机:1.4 注意事项:1.5 通俗讲法 2 面向对象编程2.1 概念2.2 示例代码2.3 使用范围2.4 注意事项2.5 通俗讲…

软考高级:UML定时图概念和例题

作者:明明如月学长, CSDN 博客专家,大厂高级 Java 工程师,《性能优化方法论》作者、《解锁大厂思维:剖析《阿里巴巴Java开发手册》》、《再学经典:《Effective Java》独家解析》专栏作者。 热门文章推荐&am…

每天学习一个Linux命令之useradd

每天学习一个Linux命令之useradd 介绍 Linux操作系统提供了许多命令来管理用户和用户组。其中一个重要的命令是useradd,它用于在系统中创建新用户。useradd命令提供了许多选项来控制创建用户的行为。本文将逐一介绍useradd命令的所有可用选项。 可用选项 userad…

Java部署运维

1.docker Docker(一):安装、命令、应用Docker(二):数据卷、Dockefile、Docker-composeDocker(三) 通过gitlab部署CICD Docker超详细教程——入门篇实战 Docker教程 2.nginx 3.keepalived 4.k8s 5.jekenis

KW音乐搜索参数

声明: 本文章中所有内容仅供学习交流,抓包内容、敏感网址、数据接口均已做脱敏处理,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关,若有侵权,请联系我立即删除! 逆向目标: …

Pytorch之Dataset和DataLoader的注意事项

1、数据集的保存形式:一行一行的。 比如说预测两个值的加法:abc,那么传进Dataset的形式应该是 a1,b1,c1 a2,b2,c2 ... an,bn,cn 2、代码 import numpy as np import pandas as pd import torch from torch.utils.data import DataLoader, D…