Skip to main content

Graphviz 的简单 Python 接口

项目描述

最新的 PyPI 版本 执照 支持的 Python 版本 车轮形式 每月下载量

建造 编解码器 阅读文档(稳定) 阅读文档(最新)

粘合剂(稳定)

这个包有助于在Python的Graphviz图形绘图软件(上游存储库)的DOT语言中创建和呈现图形描述。

创建一个图形对象,通过添加节点和边来组装图形,并检索其 DOT 源代码字符串。将源代码保存到文件中,并使用系统的 Graphviz 安装来呈现它。

使用视图选项/方法直接检查生成的(PDF、PNG、SVG 等)文件及其默认应用程序。图形也可以在Jupyter 笔记本(以前称为 IPython 笔记本例如nbviewer )以及Jupyter QtConsole中呈现和显示。

安装

这个包在 Python 3.7+ 下运行,使用pip安装:

$ pip install graphviz

要渲染生成的 DOT 源代码,您还需要安装Graphviz下载页面存档版本Windows 安装程序)。

确保包含dot可执行文件的目录位于系统的PATH上 (有时由安装程序完成; 在LinuxMacWindows上设置PATH)。

Anaconda:请参阅conda-forgeconda-forge/python-graphviz ( feedstock ),它应该自动conda install conda-forge/graphviz ( feedstock ) 作为依赖项。

快速开始

创建图形对象:

>>> import graphviz  # doctest: +NO_EXE
>>> dot = graphviz.Digraph(comment='The Round Table')
>>> dot  #doctest: +ELLIPSIS
<graphviz.graphs.Digraph object at 0x...>

添加节点和边:

>>> dot.node('A', 'King Arthur')  # doctest: +NO_EXE
>>> dot.node('B', 'Sir Bedevere the Wise')
>>> dot.node('L', 'Sir Lancelot the Brave')

>>> dot.edges(['AB', 'AL'])
>>> dot.edge('B', 'L', constraint='false')

检查生成的源代码:

>>> print(dot.source)  # doctest: +NORMALIZE_WHITESPACE +NO_EXE
// The Round Table
digraph {
    A [label="King Arthur"]
    B [label="Sir Bedevere the Wise"]
    L [label="Sir Lancelot the Brave"]
    A -> B
    A -> L
    B -> L [constraint=false]
}

保存并渲染源代码:

>>> doctest_mark_exe()

>>> dot.render('doctest-output/round-table.gv').replace('\\', '/')
'doctest-output/round-table.gv.pdf'

保存并渲染并查看结果:

>>> doctest_mark_exe()

>>> dot.render('doctest-output/round-table.gv', view=True)  # doctest: +SKIP
'doctest-output/round-table.gv.pdf'
圆桌会议.svg

警告: 反斜杠转义和<...>形式的字符串 在 DOT 语言中具有特殊含义。如果您需要呈现任意字符串(例如来自用户输入),请查看用户指南中的详细信息。

也可以看看

执照

这个包是在MIT 许可下分发的。

发展

项目详情