# Graphviz - 像markdown一样用语法画导图

**URL:** <https://meta.appinn.net/t/topic/10116>\
**Category:** 小恐龙的爱\
**Tags:** 思维导图\
**Created:** [2019 年5 月 6 日 06:18 UTC](https://meta.appinn.net/t/topic/10116 "2019-05-06T06:18:23Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

作者： ![xiaokonglong](https://meta-edge.appinn.com/user_avatar/meta.appinn.net/xiaokonglong/32/908_2.png) [@xiaokonglong](https://meta.appinn.net/u/xiaokonglong)\
发布日期： [2019 年5 月 6 日 06:18 UTC](https://meta.appinn.net/t/topic/10116/1 "2019-05-06T06:18:23Z")

</div>

## Graph Visualization 是AT&T公司开发的一款开源的绘图编程语言.

叫做dot语言.

[官网](https://graphviz.gitlab.io/)

它可以绘制UML图. 比如思维导图什么的.

语法有多简单呢: 我觉得比md还要简单.事实上,到现在我也记不住md的语法.

`digraph g { a -> {b->c} }`

就可以自动生成一个结构图,还可以导出为svg图片. (一种解释型矢量图片,可以在浏览器中正常显示)

![gv](https://meta-edge.appinn.com/images/transparent.png)

使用上,你可以下载它的解释库, 但是我推荐用vscode, 安装Graphviz (dot) language support for Visual Studio Code 扩展.

就是可以像md一样, 左侧写代码, 右侧预览了.

![Snipaste_2019-05-06_14-39-45](https://meta-edge.appinn.com/images/transparent.png)

---

<div class="post-metadata">

作者： ![xiaokonglong](https://meta-edge.appinn.com/user_avatar/meta.appinn.net/xiaokonglong/32/908_2.png) [@xiaokonglong](https://meta.appinn.net/u/xiaokonglong)\
发布日期： [2019 年5 月 6 日 06:33 UTC](https://meta.appinn.net/t/topic/10116/2 "2019-05-06T06:33:20Z")

</div>

```
digraph g {
    rankdir=LR //方向左右
    dot语言->{简介,语法,示例}
    dot语言[shape=box,fontcolor=red]
    简介[color=red]
    语法[color=green]
    示例[color=blue]
    

    简介->{开源免费,UML绘图,导出svg}
    
    语法->{"digraph","graph"}

    "digraph"->导向图[label=可以制作带方向的导图]
    "graph"->无向图[label=可以制作不带方向的导图]

    

    
    
    }

```

 ![2019-5-6%2014-33-10](https://meta.appinn.net/uploads/default/original/2X/5/5c271ff75706f439793883d30f57fe3ce27733fd.jpeg)

---

<div class="post-metadata">

作者： ![yfzhe](https://meta-edge.appinn.com/user_avatar/meta.appinn.net/yfzhe/32/3009_2.png) [@yfzhe](https://meta.appinn.net/u/yfzhe)\
发布日期： [2019 年5 月 6 日 07:26 UTC](https://meta.appinn.net/t/topic/10116/3 "2019-05-06T07:26:43Z")

</div>

始终学不会 Graphviz，小恐龙老师可以出个教程吗

---

<div class="post-metadata">

作者： ![allor](https://meta-edge.appinn.com/user_avatar/meta.appinn.net/allor/32/1268_2.png) [@allor](https://meta.appinn.net/u/allor)\
发布日期： [2019 年5 月 6 日 09:30 UTC](https://meta.appinn.net/t/topic/10116/4 "2019-05-06T09:30:45Z")

</div>

说 Graph Visualization 还一时想不起来，看到 dot 语言才想起是 Graphviz :sweat_smile:

dot 语言入门不难啊，像小恐龙举的例子 `digraph g { a -> {b->c} }`  
也可以不用嵌套，用最原始的方法来写：

```plaintext
digraph g {
    a -> b
    b -> c
    a -> c
}

```

---

<div class="post-metadata">

作者： ![Qingwa](https://meta-edge.appinn.com/user_avatar/meta.appinn.net/qingwa/32/58632_2.png) [@Qingwa](https://meta.appinn.net/u/Qingwa)\
发布日期： [2019 年5 月 6 日 11:35 UTC](https://meta.appinn.net/t/topic/10116/5 "2019-05-06T11:35:03Z")

</div>

好赞

---

<div class="post-metadata">

作者： ![xiaokonglong](https://meta-edge.appinn.com/user_avatar/meta.appinn.net/xiaokonglong/32/908_2.png) [@xiaokonglong](https://meta.appinn.net/u/xiaokonglong)\
发布日期： [2019 年5 月 6 日 12:13 UTC](https://meta.appinn.net/t/topic/10116/6 "2019-05-06T12:13:58Z")

</div>

~~我回头整理一下语法.~~

我觉得不用整理了，已经有人整理的差不多了。

> **[Dot脚本语言入门-CSDN博客](https://blog.csdn.net/jy692405180/article/details/52077979)**
>
> 文章浏览阅读2.2w次，点赞25次，收藏80次。Dot语法整理\_dot语言

---

<div class="post-metadata">

作者： ![yfzhe](https://meta-edge.appinn.com/user_avatar/meta.appinn.net/yfzhe/32/3009_2.png) [@yfzhe](https://meta.appinn.net/u/yfzhe)\
发布日期： [2019 年5 月 6 日 12:16 UTC](https://meta.appinn.net/t/topic/10116/7 "2019-05-06T12:16:28Z")

</div>

（建议移除发现频道，不然没法在主页上看到）

---

<div class="post-metadata">

作者： ![Qingwa](https://meta-edge.appinn.com/user_avatar/meta.appinn.net/qingwa/32/58632_2.png) [@Qingwa](https://meta.appinn.net/u/Qingwa)\
发布日期： [2019 年5 月 6 日 12:28 UTC](https://meta.appinn.net/t/topic/10116/8 "2019-05-06T12:28:56Z")

</div>

你是管理员啊大哥，你就能移动。。。

另外，@xiaokonglong 我来给你一个专属分类吧，就像这样的：[https://meta.appinn.com/c/app/yfzhe-product-hunt](https://meta.appinn.com/c/app/yfzhe-product-hunt)

想个名字给我，如果我取的话，就叫：小恐龙的分享 了。

---

<div class="post-metadata">

作者： ![xiaokonglong](https://meta-edge.appinn.com/user_avatar/meta.appinn.net/xiaokonglong/32/908_2.png) [@xiaokonglong](https://meta.appinn.net/u/xiaokonglong)\
发布日期： [2019 年5 月 6 日 12:32 UTC](https://meta.appinn.net/t/topic/10116/9 "2019-05-06T12:32:22Z")

</div>

我觉得直接查看某个人的主题就行吧?

我感觉楼上的意思是, 发现频道没有被首页融合, 不单独点开"发现频道"是发现不了的.

---

<div class="post-metadata">

作者： ![Qingwa](https://meta-edge.appinn.com/user_avatar/meta.appinn.net/qingwa/32/58632_2.png) [@Qingwa](https://meta.appinn.net/u/Qingwa)\
发布日期： [2019 年5 月 6 日 12:33 UTC](https://meta.appinn.net/t/topic/10116/10 "2019-05-06T12:33:58Z")

</div>

但是，有个分类不是一件很酷的事情么？

---

<div class="post-metadata">

作者： ![xiaokonglong](https://meta-edge.appinn.com/user_avatar/meta.appinn.net/xiaokonglong/32/908_2.png) [@xiaokonglong](https://meta.appinn.net/u/xiaokonglong)\
发布日期： [2019 年5 月 6 日 12:35 UTC](https://meta.appinn.net/t/topic/10116/11 "2019-05-06T12:35:43Z")

</div>

你说的好有道理的样子:joy:

---

<div class="post-metadata">

作者： ![Qingwa](https://meta-edge.appinn.com/user_avatar/meta.appinn.net/qingwa/32/58632_2.png) [@Qingwa](https://meta.appinn.net/u/Qingwa)\
发布日期： [2019 年5 月 6 日 12:35 UTC](https://meta.appinn.net/t/topic/10116/12 "2019-05-06T12:35:54Z")

</div>

所以有名字了么

---

<div class="post-metadata">

作者： ![xiaokonglong](https://meta-edge.appinn.com/user_avatar/meta.appinn.net/xiaokonglong/32/908_2.png) [@xiaokonglong](https://meta.appinn.net/u/xiaokonglong)\
发布日期： [2019 年5 月 6 日 12:36 UTC](https://meta.appinn.net/t/topic/10116/13 "2019-05-06T12:36:49Z")

</div>

默认的名字就行哈

---

<div class="post-metadata">

作者： ![Qingwa](https://meta-edge.appinn.com/user_avatar/meta.appinn.net/qingwa/32/58632_2.png) [@Qingwa](https://meta.appinn.net/u/Qingwa)\
发布日期： [2019 年5 月 6 日 12:41 UTC](https://meta.appinn.net/t/topic/10116/14 "2019-05-06T12:41:37Z")

</div>

已经有了： [https://meta.appinn.com/c/app/xiaokonglong](https://meta.appinn.com/c/app/xiaokonglong)

对了，可自定义颜色、背景什么的，有需求告诉我

---

<div class="post-metadata">

作者： ![Qingwa](https://meta-edge.appinn.com/user_avatar/meta.appinn.net/qingwa/32/58632_2.png) [@Qingwa](https://meta.appinn.net/u/Qingwa)\
发布日期： [2019 年5 月 6 日 12:52 UTC](https://meta.appinn.net/t/topic/10116/15 "2019-05-06T12:52:42Z")

</div>

> [@xiaokonglong](#):
>
> AT&T

我才注意到，这货居然是 AT&T 的啊

---

<div class="post-metadata">

作者： ![kkkeucl](https://meta-edge.appinn.com/user_avatar/meta.appinn.net/kkkeucl/32/3632_2.png) [@kkkeucl](https://meta.appinn.net/u/kkkeucl)\
发布日期： [2019 年5 月 6 日 13:33 UTC](https://meta.appinn.net/t/topic/10116/16 "2019-05-06T13:33:10Z")

</div>

与其类似的plantuml最近支持画脑图了

 ![image](https://meta.appinn.net/uploads/default/original/2X/b/b02417c91f6a2d4e1633a575dacc11530729f89f.jpeg)

---

<div class="post-metadata">

作者： ![yfzhe](https://meta-edge.appinn.com/user_avatar/meta.appinn.net/yfzhe/32/3009_2.png) [@yfzhe](https://meta.appinn.net/u/yfzhe)\
发布日期： [2019 年5 月 6 日 15:26 UTC](https://meta.appinn.net/t/topic/10116/17 "2019-05-06T15:26:53Z")

</div>

这种还是尊重人家作者比较好嘛

---

<div class="post-metadata">

作者： ![xiaokonglong](https://meta-edge.appinn.com/user_avatar/meta.appinn.net/xiaokonglong/32/908_2.png) [@xiaokonglong](https://meta.appinn.net/u/xiaokonglong)\
发布日期： [2019 年5 月 6 日 16:30 UTC](https://meta.appinn.net/t/topic/10116/18 "2019-05-06T16:30:04Z")

</div>

> [@kkkeucl](#):
>
> plantuml

嗯,做脑图的话,这个比dot更简单.  
plantuml支持的图形种类更多, 而且有中文帮助.

不过我看了一下语法, 感觉更随性一些, 跟dot比, 这个像vbs, dot像js的感觉.

但是plantuml居然还兼容dot.

另外比较别扭的是,plantuml必须安装java环境.

附楼上脑图的代码大家比较下:

```
@startmindmap
+ OS
++ Ubuntu
+++ Linux Mint
+++ Kubuntu
+++ Lubuntu
+++ KDE Neon
++ LMDE
++ SolydXK
++ SteamOS
++ Raspbian
-- Windows 95
-- Windows 98
-- Windows NT
--- Windows 8
--- Windows 10
@endmindmap

```

---

<div class="post-metadata">

作者： ![dms](https://meta-edge.appinn.com/user_avatar/meta.appinn.net/dms/32/3545_2.png) [@dms](https://meta.appinn.net/u/dms)\
发布日期： [2019 年5 月 6 日 23:32 UTC](https://meta.appinn.net/t/topic/10116/19 "2019-05-06T23:32:24Z")

</div>

取消了这个主题的自动关闭，好的内容，值得长期讨论

---

<div class="post-metadata">

作者： ![xiaokonglong](https://meta-edge.appinn.com/user_avatar/meta.appinn.net/xiaokonglong/32/908_2.png) [@xiaokonglong](https://meta.appinn.net/u/xiaokonglong)\
发布日期： [2019 年5 月 7 日 00:23 UTC](https://meta.appinn.net/t/topic/10116/20 "2019-05-07T00:23:20Z")

</div>

说起来,这个帖子名不副实,居然还有更多md也能画图.

[# mermaid](https://github.com/knsv/mermaid)

它就是一个markdown软件. 它的画图语法是这样的:

```auto
graph TB
    c1-->a2
    subgraph one
    a1-->a2
    end
    subgraph two
    b1-->b2
    end
    subgraph three
    c1-->c2
    end

```

 ![128249-a6fcfff9b08d5bbb](https://meta.appinn.net/uploads/default/original/2X/1/11d8e8a32b79bd5746c7cf4af6f5804947f33f7b.jpeg)

但是呢, 我总觉得现在md语法有些太分散了,衍生版本太多,不同软件的支持度也不太一样.  
自从 **John Gruber** 发明md以来, 它的发展基本上属于民间自发行为, 缺乏强制统一的规范.

而且不同的软件,渲染的效果也不一致. 虽然个性化十足,但是显然并不利于分享.

所以,对于md软件来说, 我还真是接受不能.

如果有人用 typora 的话. typora 跟这个倒是兼容的.

[下一页](https://meta.appinn.net/t/topic/10116.md?page=2)
