【拓展】图的渲染工具-Mermaid
【拓展】图的渲染工具-Mermaid
Mermaid简介
Mermaid 是一个基于 JavaScript 的图表和图表工具,可呈现受 Markdown 启发的文本定义以动态创建和修改图表。
如果你熟悉 Markdown,那么学习 Mermaid 的语法应该没有问题,你甚至可以把它当成Markdown的扩展语法来对待。
仅用简单的语句表达实现图的渲染
1 graph LR
2 a-->b
3 a-->c
4 b-->d
5 b-.->c
6 c-->d
7 d-->a
渲染效果:
a-->b
a-->c
b-->d
b-.->c
c-->d
d-->a
Mermaid官方网站还提供了官方在线绘图渲染器,点击即可跳转进入。
Mermaid能绘制哪些图
我们现在接触的图表类型不多,所以会认为Mermaid不会有很大作用,事实上,Mermaid有极其强大的功能:
- 流程图 (Flowchart):用于展示流程、步骤和决策流程。
- 时序图 (Sequence Diagram):展示事件发生的顺序和时间轴上的活动。
- 类图 (Class Diagram):用于展示对象之间的关系和结构。
- 状态图 (State Diagram):展示对象在不同状态下的行为转换。
- 实体关系图 (Entity Relationship Diagram):用于展示实体之间的关系模型。
- 用户旅程 (User Journey):描述用户与产品或服务互动的整个过程。
- 甘特图 (Gantt):用于展示项目进度、时间安排和任务分配。
- 饼图 (Pie Chart):展示数据的相对比例,常用于比较类别间的数量关系。
- 四象限图 (Quadrant Chart):用于将数据或概念按照两个维度进行分类和比较。
- 需求图 (Requirement Diagram):用于展示需求之间的关系和依赖。
- Git 图表 (Gitgraph Diagram):用于展示 Git 代码仓库中的提交历史和分支结构。
- C4 图表 (C4 Diagram):一种软件架构图表,用于描述软件系统的结构。
- 思维导图 (Mindmaps):帮助组织和展示思维导向的图表。
- 时间线 (Timeline):以时间为轴展示事件或数据的顺序和时序。
- Zenuml:用于创建 UML 序列图和状态图的在线工具。
- Sankey 图表:用于展示复杂系统中能量、物质或者信息的流动关系。
- XY 图表 (XYChart):以笛卡尔坐标系方式展示数据的散点分布和关联关系。
可以说,Mermaid为IT人员提供了极其强大、回应需求的工具,减少了IT人员在画图上的耗时,大大提升效率。
绘图示例
就咱们目前用到的、作业需求的类型展示:
流程图Flowchart
譬如之前做的实验2的程序流程图:

又比如用Mermaid画出《计算机科学概论》教材175页表8-3中的航线图:

Mermaid中:

饼图Pie
1 pie
2 title Pets adopted by volunteers
3 "Dogs" : 386
4 "Cats" : 85
5 "Rats" : 15
title Pets adopted by volunteers
"Dogs" : 386
"Cats" : 85
"Rats" : 15
甘特图Gantt
就本周(第九周)云班课作业“CPU调度”来说:

要求画出Gantt图。如果说使用draw.io手绘流程图还行的话,那么在甘特图等方面,使用draw.io就显得捉襟见肘了。如果使用Mermaid,我们可以免去手绘的烦恼:

只要逻辑清晰,思路明确,我们就可以用就简单的语句表示出进程,而Mermaid Live Editor会自动渲染出我们想要的效果。
Mermaid语法学习相关资料
官方语法解释:https://mermaid.js.org/intro/#diagram-types
全英文网站,大家可以借助工具学习Bilibili上AaaGss 的typora绘图合集视频也不错
流程图
稀土掘金平台 天朝八阿哥 的笔记
甘特图
稀土掘金平台 天朝八阿哥 的笔记
【拓展】图的渲染工具-Mermaid的更多相关文章
- [常用工具] mermaid学习笔记
mermaid是一个基于Javascript的图表绘制工具,类似markdown用文本语法,用于描述文档图形(流程图. 时序图.甘特图),开发者可以通过一段mermaid文本来生成SVG或者PNG形式 ...
- 常用MySQL图形化管理工具
MySQL的管理维护工具非常多,除了系统自带的命令行管理工具之外,还有许多其他的图形化管理工具,这里我介绍几个经常使用的MySQL图形化管理工具,供大家参考. MySQL是一个非常流行的小型关系型数据 ...
- 有评论就是我最大的动力~MySQL基础篇完结(存储引擎和图形化管理工具)
hi 今天登上来,发现竟然有了3个评论~~加油吧! 这周的计划其实远远没有达到,然后下周还有一大堆事情...那么...周末好好玩吧~ 今天试图完结MySQL的基础篇知识,小白变为大白? 1.MySQL ...
- 怎么样putty打开图形化管理工具,在终端上
有时需要在putty这种图形终端开放的图形化管理工具将出现以下错误: [root@node2 ~]# Traceback (most recent call last): File "/us ...
- memcache图形化管理工具MemAdmin
给大家介绍一款 memcache图形化管理工具: MemAdmin 下载地址: http://www.junopen.com/memadmin/ wget http://www.junopen.com ...
- ROS(indigo) 用于机器人控制的图形化编程工具--code_it robot_blockly
0 简介: 编程语言有汇编,高级语言,解释语言等,现在图形化编程也越来越流行.图形化编程简单易学.8年前,微软推出了VPL用于机器人程序设计,如Python和JavaScript都可以用图形化框图实现 ...
- docker图形化管理工具portainer
本章主要介绍docker的web图形化管理工具.这里使用 portainer(类似与dockui不过dockerui只支持单节点) 镜像名称 portainer/portainer 一.启动porta ...
- Gift动图分解小工具
gif 动图分解小工具 Overview 因为自己有时候需要将一些gif图片分解,但是没有在网上找到合适的工具,所有就自己写了一个,在这里与大家分享,其实实现很简单,是通过C#实现的.文章下方有下载链 ...
- 数据库--oracle图形化管理工具和新增自定义用户
oracle数据库图形化管理工具: 1 navicat工具很小,操作mySQL和SQLServer非常好用,但对于oracle体验性就有点差,要自己下载编码和替换oci文件.下面是解决的方法教程链接 ...
- MongoDB图形化管理工具Toad Mac Edition
昨天介绍了在Mac上安装MongoDB,安装好并配置环境变量后,在终端上用mongo命令就可以进入MongoDB的命令行管理界面,但我更习惯在图形化界面下管理数据库,这样更直观.今天我再介绍一款在Ma ...
随机推荐
- 安卓端-APPUI自动化实战【下】
上一篇介绍了在solopi端的二次开发内容,接下来介绍下服务端的实现原理. 框架介绍: 使用比较成熟封装度较高的开源框架,尽量减少二次开发难度:Pear Admin Boot: 基 于 Spring ...
- stdout stdin stderr
#include<stdio.h>int main(){ fprintf(stdout,"hello"); int a; fscanf(stdin,"%d&q ...
- linux 端如何修改移动硬盘的名称
省着点力气吧,在windows 下修改一样的.
- RestCloud MQ集成平台,构建MQ与系统的桥梁
RestCloud MQ集成平台,实现对MQ消息的全面集成管控,通过消息订阅.发布.构建MQ与业务系统之间的桥梁. 一.MQ消息集成平台介绍1.消息订阅基于Web界面操作可以快速实现多种MQ(Kafk ...
- SciTech-EECS-Circuits-电路稳定性: 温度补偿 的几种方式对比: 响应时问、精度、动态范围、线性度、稳定度
电路稳定性: 温度稳定性 测试的几种方式: 电吹风加热 冰箱(-5度) + 烤箱(50度/70度) 改进 "文氏电桥振荡" 电路 的"热稳定性温度补偿" 网上找 ...
- gurobipy: Gurobi Optimizer is a mathematical optimization software library for solving mixed-integer linear and quadratic optimization problems
Project description The Gurobi Optimizer is a mathematical optimization software library for solving ...
- flink 1.11.2 学习笔记(1)-wordCount
一.pom依赖 1 <?xml version="1.0" encoding="UTF-8"?> 2 <project xmlns=" ...
- NIO复习(1):buffer
先回顾下NIO中的"三剑客"模型:selector.channel.buffer p.p1 { margin: 0; font: 13px "Helvetica Neue ...
- Win10专业版系统如何更改盘符的问题
很多深度系统的win10专业版用户,喜欢追求自己的个性化,想要把盘符修改成自己想要的名字,这样显的非常的有个性.那么,win10系统该如何修改盘符呢?别担心,深度技术小编就来分享详细的设置方法,有喜欢 ...
- steam发行问题
非常重要,最新steam营销推广 https://store.steampowered.com/news/group/4145017/view/4191238396458987547