Markdown教程<2> mermaid图形绘制(1)

博客园中的markdown编辑器同时支持mermaid图表引擎与tex公式引擎,可以使用mermaid直接画出流程图,时序图,甘特图等,比较方便,下面介绍一下在markdown中使用mermaid绘制图表

注意:本文包含较多mermaid图表,打开本网页后需要等待一段时间加载完成方可显示图表。可以观看浏览器标题栏,直至本网页不处于加载状态(转圈圈)或者图表已经显示为止。


1. 流程图

使用graph来声明一张新的图以及图的绘制方向,具体方法为:

graph TD
start --> stop
graph TD
start --> stop

其中TD声明了图的绘制顺序为由上到下,其他可以填写的顺序为:

  • TB - top bottom
  • BT - bottom top
  • RL - right left
  • LR - left right
  • TD - 与TB一样
graph LR
start --> stop
graph LR
start --> stop

节点与形状

默认节点

graph LR
node
graph LR
node

可以看到,默认情况下节点名称被显示在矩形框内。

有文本的节点

当然也可以为节点设置文本,在设置文本的同时需要指定节点的形状。

graph LR
node1[这是一段文字]
graph LR
node1[这是一段文字]

圆角节点

graph LR
node1(这是一段文字)
graph LR
node1(这是一段文字)

圆节点

graph LR
node1((这是一段文字))
graph LR
node1((这是一段文字))

不对称形状节点

graph LR
node1>这是一段文字]
graph LR
node1>这是一段文字]

菱形节点

graph LR
node1{这是一段文字}
graph LR
node1{这是一段文字}

节点之间连接线

节点之间通过连接线/边连接。所以可以设置连接线的形状,或者把一段文本附着到线上。

箭头连接线

graph LR
A --> B
graph LR
A --> B

直线

graph LR
A --- B
graph LR
A --- B

直线中带有文字

graph LR
A --this is a text--- B
graph LR
A --this is a text--- B

或者

graph LR
A ---|this is a text| B
graph LR
A ---|this is a text| B

箭头中带有文字

graph LR
A --this is a text--> B
graph LR
A --this is a text--> B

虚线连接

graph LR
A -.- B
graph LR
A -.- B

虚线箭头连接

graph LR
A -.-> B
graph LR
A -.-> B

虚线带有文本

graph LR
A -.this is a text.- B
graph LR
A -.this is a text.- B

虚线箭头带有文本

graph LR
A -.this is a text.-> B
graph LR
A -.this is a text.-> B

大箭头(thick link)

graph LR
A ==> B
graph LR
A ==> B

大箭头(thick link)带有文本

graph LR
A ==this is a text==> B
graph LR
A ==this is a text==> B

用于转义

graph LR
A["A double quote:#quot;"] -->B["A dec char:#9829;"]
graph LR
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
graph TB
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>
graph LR;
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;
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;

使用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;
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;

[1]:本文内容来源于mermaid官方手册

Markdown教程<2> mermaid图形绘制(1)的更多相关文章

  1. 【D3.V3.js系列教程】--(十五)SVG基本图形绘制

    [D3.V3.js系列教程]--(十五)SVG基本图形绘制 1.path <!DOCTYPE html> <html> <head> <meta charse ...

  2. markdown绘图插件----mermaid简介

    作者:黄永刚 mermaid简介 当撰写文档的时候,对于流程图的生成大多使用Visio等繁重的工具,没有一种轻便的工具能够画图从而简化文档的编写,就像markdown那样. mermaid解决这个痛点 ...

  3. 【Windows编程】系列第五篇:GDI图形绘制

    上两篇我们学习了文本字符输出以及Unicode编写程序,知道如何用常见Win32输出文本字符串,这一篇我们来学习Windows编程中另一个非常重要的部分GDI图形绘图.Windows的GDI函数包含数 ...

  4. 13个JavaScript图表(JS图表)图形绘制插件【转】

    现在网络上又有越来越多的免费的(JS 图表)JavaScript图表图形绘制插件.我之前给一家网站做过复杂的图形,我们用的是 highchart.在那段时间,没有很多可供选择的插件.但现在不同了,很容 ...

  5. 推荐12个最好的 JavaScript 图形绘制库

    众多周知,图形和图表要比文本更具表现力和说服力.图表是数据图形化的表示,通过形象的图表来展示数据,比如条形图,折线图,饼图等等.可视化图表可以帮助开发者更容易理解复杂的数据,提高生产的效率和 Web  ...

  6. C#中的GDI+图形绘制方法

    GDI+图形绘制方法 1.首先对于绘制图形,必须的先将命名空间导入:using System.Drawing.Drawing2D; 2.然后在一个事件中写入程序 首先先将Graphics这个对象实例化 ...

  7. cocos2d-x 图形绘制

    转自:http://blog.csdn.net/zhy_cheng/article/details/8480048 图形绘制的话,在cocos2d-x自带的TestCpp里有,包括绘制点,直线,多边形 ...

  8. 图形绘制 Canvas Paint Path 详解

    图形绘制简介        Android中使用图形处理引擎,2D部分是android SDK内部自己提供,3D部分是用Open GL ES 1.0.大部分2D使用的api都在android.grap ...

  9. HTML5图形绘制学习(1)-- Canvas 元素简介

    Canvas元素是HTML5中新增的一个专门用来进行图形绘制的元素.和其名称Canvas一样,它就相当于一个画布,我们可以在其上描绘各种图形. 这里所说的绘制图型,不是指我们可以进行可视化的图形绘制, ...

随机推荐

  1. linux awk(good)

    一个用awk处理字符串的例子: #!/bin/bash source="nokia201703148855" preffixStr=$(echo $source |awk '{pr ...

  2. Linux下编译,要下载tar.xz,而不要下载zip,因为换行的编码不一样,对.h.cpp没有影响,但是对脚本有影响 good

    原因是 在win下编辑的时候,换行结尾是\n\r , 而在linux下 是\n,所以才会有 多出来的\r但是这个我是直接下载的官网文件解压的,没有动过啊. 破案了. linux下编译要下 .tar.x ...

  3. WPF公章制作之2

    原文:WPF公章制作之2 早前,我曾写过一篇:"在WPF中制作正圆形公章"(http://blog.csdn.net/johnsuna/archive/2007/10/12/182 ...

  4. OpenGL图形渲染管线、VBO、VAO、EBO概念及用例

    图形渲染管线(Pipeline) 图形渲染管线指的是对一些原始数据经过一系列的处理变换并最终把这些数据输出到屏幕上的整个过程. 图形渲染管线的整个处理流程可以被划分为几个阶段,上一个阶段的输出数据作为 ...

  5. 受限玻尔兹曼机(RBM)以及对比散度(CD)

    1. RBM 的提出 BM 的缺点: 计算时间漫长,尤其是无约束自由迭代的负向阶段: 对抽样噪音敏感: 流行软件的不支持: 受限玻尔兹曼机(Restricted Boltzmann Machine,简 ...

  6. 在Style中将EventTrigger与Trigger同时使用

    原文:在Style中将EventTrigger与Trigger同时使用 现在在看WPF关于Trigger的有关实例,然后找到一篇不错的文章,特此转载,收藏一下!!   一般情况下,使用Style时,可 ...

  7. sdut 5-1 继承和派生

    5-1 继承与派生 Time Limit: 1000MS Memory limit: 65536K 题目描写叙述 通过本题目的练习能够掌握继承与派生的概念.派生类的定义和用法.当中派生类构造函数的定义 ...

  8. apt-spy 软件源更新

    ebian上的apt-get是最快的软件安装方式,不过要用好apt-get,首先得需要找到最快的源,这样安装软件的时候才能获得好的速度,用起来才能得心应手. 有的源在用了一段以后,就会失效,这个时候, ...

  9. Math.Round四舍五入说明

    Math.Round默认采用的不是四舍五入法, 而是四舍六入的银行家算法, 如何找回四舍五入法? Math.Round默认采用的不是四舍五入法, 而是四舍六入的银行家算法,  也就是四舍六入五考虑,五 ...

  10. HTTP、FTP状态码 汇总

    原文:HTTP.FTP状态码 汇总 HTTP1xx - 信息提示(这些状态代码表示临时的响应.客户端在收到常规响应之前,应准备接收一个或多个 1xx 响应. ) • 100 - 继续.• 101 - ...