iPython 笔记本;绘制转换图

iPython Notebook; Plotting transition diagrams

我的问题很简单。

是否有一个包可以绘制如下所示的状态转换图或马尔可夫图?我想它一定存在,但我就是找不到它!

我确实四处搜索过,也在 Whosebug 上搜索过,但无济于事。

没错。我发现以 correct 顺序安装的以下软件包将生成我正在寻找的图表。

1) 安装Graphviz。这是一个独立的包,可以用例如brew 安装 graphviz.

2) 使用 pip install pygraphviz 安装 PyGraphviz(需要 Graphviz 可执行文件)

3) 使用 pip install pydot 安装 PyDot

如果你想像我一样在 iPython Notebook 中进行内联操作,请查看 this

如果你像上面提到的那样安装 graphviz 和 pygraphviz,你可以像这样直接在 ipython/jupyter notebook 中渲染点语法(不需要 networkx):

import pygraphviz as pgv
from IPython.display import Image

def draw(dot):
    return Image(pgv.AGraph(dot).draw(format='png', prog='dot'))

g1 = """digraph top {
   a -> b -> c;
}"""
draw(g1)

这画:

完整的点参考 here