Markdown教程<2> mermaid图形绘制(1)
Markdown教程<2> mermaid图形绘制(1)
博客园中的markdown编辑器同时支持mermaid图表引擎与tex公式引擎,可以使用mermaid直接画出流程图,时序图,甘特图等,比较方便,下面介绍一下在markdown中使用mermaid绘制图表
注意:本文包含较多mermaid图表,打开本网页后需要等待一段时间加载完成方可显示图表。可以观看浏览器标题栏,直至本网页不处于加载状态(转圈圈)或者图表已经显示为止。
1. 流程图
图
使用graph来声明一张新的图以及图的绘制方向,具体方法为:
graph TD
start --> stop
start --> stop
其中TD声明了图的绘制顺序为由上到下,其他可以填写的顺序为:
- TB - top bottom
- BT - bottom top
- RL - right left
- LR - left right
- TD - 与TB一样
graph LR
start --> stop
start --> stop
节点与形状
默认节点
graph LR
node
node
可以看到,默认情况下节点名称被显示在矩形框内。
有文本的节点
当然也可以为节点设置文本,在设置文本的同时需要指定节点的形状。
graph LR
node1[这是一段文字]
node1[这是一段文字]
圆角节点
graph LR
node1(这是一段文字)
node1(这是一段文字)
圆节点
graph LR
node1((这是一段文字))
node1((这是一段文字))
不对称形状节点
graph LR
node1>这是一段文字]
node1>这是一段文字]
菱形节点
graph LR
node1{这是一段文字}
node1{这是一段文字}
节点之间连接线
节点之间通过连接线/边连接。所以可以设置连接线的形状,或者把一段文本附着到线上。
箭头连接线
graph LR
A --> B
A --> B
直线
graph LR
A --- B
A --- B
直线中带有文字
graph LR
A --this is a text--- B
A --this is a text--- B
或者
graph LR
A ---|this is a text| B
A ---|this is a text| B
箭头中带有文字
graph LR
A --this is a text--> B
A --this is a text--> B
虚线连接
graph LR
A -.- B
A -.- B
虚线箭头连接
graph LR
A -.-> B
A -.-> B
虚线带有文本
graph LR
A -.this is a text.- B
A -.this is a text.- B
虚线箭头带有文本
graph LR
A -.this is a text.-> B
A -.this is a text.-> B
大箭头(thick link)
graph LR
A ==> B
A ==> B
大箭头(thick link)带有文本
graph LR
A ==this is a text==> B
A ==this is a text==> B
用于转义
graph LR
A["A double quote:#quot;"] -->B["A dec char:#9829;"]
A["A double quote:#quot;"] -->B["A dec char:#9829;"]
子图
subgraph title
graph definition
end
例如:
graph TB
subgraph one
a1-->a2
end
subgraph two
b1-->b2
end
subgraph three
c1-->c2
end
c1-->a2
subgraph one
a1-->a2
end
subgraph two
b1-->b2
end
subgraph three
c1-->c2
end
c1-->a2
节点交互
可以讲一个点击事件绑定到一个节点上,点击可以出发一个javascript callback或者一个链接来在新的窗口打开
graph LR;
A-->B;
click A callback "Tooltip"
click B "http://www.github.com" "This is a link"
<script>
var callback = function(){
alert('A callback was triggered');
}
<script>
A-->B;
click A callback "Tooltip"
click B "http://www.github.com" "This is a link"
添加样式
graph LR
id1(Start)-->id2(Stop)
style id1 fill:#f9f,stroke:#333,stroke-width:4px
style id2 fill:#ccf,stroke:#f66,stroke-width:2px,stroke-dasharray: 5, 5
linkStyle 0 stroke:#ff3,stroke-width:4px;
id1(Start)-->id2(Stop)
style id1 fill:#f9f,stroke:#333,stroke-width:4px
style id2 fill:#ccf,stroke:#f66,stroke-width:2px,stroke-dasharray: 5, 5
linkStyle 0 stroke:#ff3,stroke-width:4px;
使用linkStyle num来为第num条边指定样式
使用style node_name来为名称为node_name的节点指定样式
最后,一个小例子
graph LR
A[Hard edge] --Link text--> B(Round edge)
B --> C{Decision}
C --One--> D[Result one]
C --Two--> E[Result two]
linkStyle 3 stroke:#ff3,stroke-width:4px;
A[Hard edge] --Link text--> B(Round edge)
B --> C{Decision}
C --One--> D[Result one]
C --Two--> E[Result two]
linkStyle 3 stroke:#ff3,stroke-width:4px;
[1]:本文内容来源于mermaid官方手册
Markdown教程<2> mermaid图形绘制(1)的更多相关文章
- 【D3.V3.js系列教程】--(十五)SVG基本图形绘制
[D3.V3.js系列教程]--(十五)SVG基本图形绘制 1.path <!DOCTYPE html> <html> <head> <meta charse ...
- markdown绘图插件----mermaid简介
作者:黄永刚 mermaid简介 当撰写文档的时候,对于流程图的生成大多使用Visio等繁重的工具,没有一种轻便的工具能够画图从而简化文档的编写,就像markdown那样. mermaid解决这个痛点 ...
- 【Windows编程】系列第五篇:GDI图形绘制
上两篇我们学习了文本字符输出以及Unicode编写程序,知道如何用常见Win32输出文本字符串,这一篇我们来学习Windows编程中另一个非常重要的部分GDI图形绘图.Windows的GDI函数包含数 ...
- 13个JavaScript图表(JS图表)图形绘制插件【转】
现在网络上又有越来越多的免费的(JS 图表)JavaScript图表图形绘制插件.我之前给一家网站做过复杂的图形,我们用的是 highchart.在那段时间,没有很多可供选择的插件.但现在不同了,很容 ...
- 推荐12个最好的 JavaScript 图形绘制库
众多周知,图形和图表要比文本更具表现力和说服力.图表是数据图形化的表示,通过形象的图表来展示数据,比如条形图,折线图,饼图等等.可视化图表可以帮助开发者更容易理解复杂的数据,提高生产的效率和 Web ...
- C#中的GDI+图形绘制方法
GDI+图形绘制方法 1.首先对于绘制图形,必须的先将命名空间导入:using System.Drawing.Drawing2D; 2.然后在一个事件中写入程序 首先先将Graphics这个对象实例化 ...
- cocos2d-x 图形绘制
转自:http://blog.csdn.net/zhy_cheng/article/details/8480048 图形绘制的话,在cocos2d-x自带的TestCpp里有,包括绘制点,直线,多边形 ...
- 图形绘制 Canvas Paint Path 详解
图形绘制简介 Android中使用图形处理引擎,2D部分是android SDK内部自己提供,3D部分是用Open GL ES 1.0.大部分2D使用的api都在android.grap ...
- HTML5图形绘制学习(1)-- Canvas 元素简介
Canvas元素是HTML5中新增的一个专门用来进行图形绘制的元素.和其名称Canvas一样,它就相当于一个画布,我们可以在其上描绘各种图形. 这里所说的绘制图型,不是指我们可以进行可视化的图形绘制, ...
随机推荐
- Gamma 函数与exponential power distribution (指数幂分布)
1. Γ(⋅) 函数 Γ(α)=∫∞0tα−1e−tdt 可知以下基本性质: Γ(α+1)=αΓ(α) Γ(1)=1 ⇒ Γ(n+1)=n! Γ(12)=π√ 2. 指数幂分布(exponential ...
- 整了一天,明白一个道理:线程里post数据,即loop.exec+quit,然而这个quit之后,导致无法在线程里建立新的loop.exec,直接就退出了
跟踪到exec的代码里,发现: 无奈,把第二个post移到主线程里去执行了. 如果大家发现有好办法,请告知我.
- HDU 4861(多校)1001 Couple doubi
Problem Description DouBiXp has a girlfriend named DouBiNan.One day they felt very boring and decide ...
- Angular使用echarts
安装 npm install echarts --save npm install @types/echarts --save 基本使用 定义一个dom <div id="chart& ...
- Windows静态库和动态库的创建和使用(VS2005)
偶们在实际的编程开发中,经常会遇到运行时无法找到某个DLL文件或者链接时无法找到某个LIB文件.然后,我们就开始乱GOOGLE一下,然后将VS2005的设置改变一下,或许就Ok了,我们将别人开发的DL ...
- C++中一个class类对象占用多少内字节(7个例子,很清楚)
一个空的class在内存中多少字节?如果加入一个成员函数后是多大?这个成员函数存储在内存中什么部分? 一个Class对象需要占用多大的内存空间.最权威的结论是: *非静态成员变量总合. *加上编译器为 ...
- 深入解析Android关机
下图详细阐释了Android的关机顺序. 第一步: 按住电源按钮半秒钟(500ms). 第二步: 之后,PhoneWindowManager.java 将捕获长按电源按钮这一事件并调用“interce ...
- iOS Widget简单使用
iOS的Widget类似Android的Notification设置flags为Notification.FLAG_ONGOING_EVENT后 OK,大约知道是什么意思了,现在可以开始码了 ...
- 创建hexo风格的markdown页面
最近在用 nodejs 搭建一个个人博客,博客当然要有编辑文章的功能啦.个人比较偏爱 hexo 风格的 markdown 格式,所以想自己的博客也是这样的风格.尝试了几个库,发现 marked 的转换 ...
- 微信小程序把玩(一)Hello WeApp
原文:微信小程序把玩(一)Hello WeApp 本篇默认已经成功安装微信小程序工具 新建项目 AppID查看公众开发平台设置查看(https://mp.weixin.qq.com) 项目名称随意填写 ...