首页 > 其他分享 >【拓展】图的渲染工具-Mermaid

【拓展】图的渲染工具-Mermaid

时间:2023-11-23 22:36:41浏览次数:34  
标签:Diagram 流程图 展示 -- 渲染 拓展 图表 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

渲染效果:

graph LR 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的程序流程图:
image
又比如用Mermaid画出《计算机科学概论》教材175页表8-3中的航线图:
image

Mermaid中:
airline

饼图Pie

1 pie
2 title Pets adopted by volunteers
3 "Dogs" : 386
4 "Cats" : 85
5 "Rats" : 15

pie title Pets adopted by volunteers "Dogs" : 386 "Cats" : 85 "Rats" : 15

甘特图Gantt

就本周(第九周)云班课作业“CPU调度”来说:
CPU调度
要求画出Gantt图。如果说使用draw.io手绘流程图还行的话,那么在甘特图等方面,使用draw.io就显得捉襟见肘了。如果使用Mermaid,我们可以免去手绘的烦恼:
image
只要逻辑清晰,思路明确,我们就可以用就简单的语句表示出进程,而Mermaid Live Editor会自动渲染出我们想要的效果。

Mermaid语法学习相关资料

流程图

稀土掘金平台 天朝八阿哥 的笔记

甘特图

稀土掘金平台 天朝八阿哥 的笔记

标签:Diagram,流程图,展示,--,渲染,拓展,图表,Mermaid
From: https://www.cnblogs.com/gisliw/p/17852588.html

相关文章

  • 模板渲染成标签还是原封不动的字符串 标签(for,for ... empty,if,with,csrf_token)
    模板渲染成标签还是原封不动的字符串:#xss攻击:是什么,如何预防?django已经处理了xss攻击,它的处理原理是什么fromdjango.utils.safestringimportmark_safelink1='<ahref="https://www.baidu.com">点我<a>'link2=mark_safe(link1){link1|safe}  标签:1{%标签名%}......
  • Unity 卡通渲染之角色篇
    前言作为新博客的第一篇,就用卡渲作为开篇叭!毕竟是个二次元乐。本篇同步发表于http://chenglixue.top/index.php/unity/73/之前使用UE的后处理做过简单的卡渲,但因其灵活性很差,很多操作都需涉及到更改管线,且奈何本人在校用的笔记本,一次build就得好久,因此放弃对卡渲的深入。如今对......
  • 先锋版N100-N200-I3-N305三选一SATA+M.2 NGFF+mSATA拓展板使用教程
    先锋版N100-N200-I3-N305拓展板3选1功能使用教程3选1BIOS下载地址刷机前请确认是不是如下产品,其它拓展板勿刷!重要提示:3选1拓展版不支持NVMe协议的硬盘,接口不对会烧,请勿插PCIE(NVMe)协议的M.2,通电情况下严禁进行拔码操作,需要拔码换硬盘一定要关机掉拔电源下进行通电情况下严禁进行......
  • 简单的低开编辑器(一):实现组件渲染
    好家伙, 项目目录如下:该项目使用Vue3,Element-plus 效果图如下:  开搞:1.写出简单界面App.vue<template><divclass="app"><Editorv-model="state"></Editor></div></template><script>import{ref,p......
  • .NET8 Blazor新特性 流式渲染
    什么是SSRBlazor中的流式渲染结合了SSR(服务端渲染),服务端将HTML拼好返回给前端,有点像我们熟知的RazorPages或MVC。当已经有了RazorPages或MVC时,为什么还要选择使用Blazor来实现这一点?这里有几个原因。首先,RazorPages和MVC没有像Blazor这样提供了很好的可重用组......
  • vue通过表格当中的数据渲染表格
    <el-table-columnlabel="审核状态"width="120"><templateslot-scope="scope"><divv-if="scope.row.examStatus=='false'">未审核</div><divv-else......
  • 渲染管线pipeline原理
    渲染管线(RenderingPipeline)是计算机图形学中用于生成图像的流程和阶段。这个过程通常被划分为多个阶段,其中每个阶段都负责特定的任务。下面是典型的图形渲染管线的阶段:几何阶段(GeometryStage):顶点着色(VertexShader):这个阶段负责对输入的顶点进行变换,将它们从对象空间转换到......
  • 关于 Angular Universal 应用渲染两次的问题
    AngularRepositoryurl:https://github.com/angular/angular-cli/issues/7477现象:Ibuiltasamplerepousingangular-cliandfollowedthestepsintheUniversalRenderingstorytoenableserversiderendering.Theapplicationloadswellonrunning,butIse......
  • 基于 Angular Universal 引擎进行服务器端渲染的前端应用 State Transfer 故障排查案
    笔者之前这篇掘金文章一个SAP开发工程师的2022年终总结:四十不惑提到,我目前的团队,负责开发一款基于Angular框架的电商Storefront应用。这个Storefront是一个开源的、基于Angular和Bootstrap并为SAPCommerceCloud构建的Angular应用程序。图1:SpartacusStore......
  • vue+pdfh5实现将pdf渲染到页面上
    版本:[email protected]+.netCore6.0webapi方法一:通过访问后端获取二进制数据来渲染前端渲染<template><vol-boxref="box":width="width":height="height"><divid="demo"ref="render"></div></vol......