PyGraphviz 安装使用

因为要用到一些树的图形,所以搜索到了 PyGraphviz 这个绘图工具。PyGraphviz 是对 Graphviz 的封装,提供了 Python 接口的调用。Graphviz 是一个开源软件包,提供了对图、点、边的简易操作,所以封装后的 PyGraphviz 可以很容易用来绘制想要的图形。

下面是 Windows 系统下具体安装过程:

1. 安装 python

  • 选择 python 版本并下载,这里示例使用的是 python 3.4.4,msi 格式的文件。 python下载链接
  • 安装 python 并添加安装目录到系统变量中的 Path 中,同时添加 Scripts 目录到 Path 中。以便于后续使用 python.exe 和 pip.exe 两个执行文件。

2. 安装 Graphviz

  • 下载 Graphviz 安装包并安装,这里示例使用的是 Graphviz2.38,Graphviz下载链接
  • 安装后添加安装目录下 bin 目录到系统 Path 中,以便后续使用 dot.exe 文件

3. 安装 PyGraphviz

  • 下载 PyGraphviz 并安装,这里示例使用的是 PyGraphviz 1.3.1-cp34 版本,其中 cp34 表示 python 版本是 3.4,PyGraphviz下载链接

  • pip 安装下载后的 whl 文件

    pip install pygraphviz-1.3.1-cp34-none-win_amd64.whl

4. PyGraphviz 使用

1import pygraphviz as pyg 2g=pyg.AGraph() #建立图 3g.add_node('A') #建立点 4g.add_edge('A','B') #建立边 5g.add_edge('A','C') #建立边 6g.layout(prog='dot') #绘图类型 7g.draw('pyg1.png') #绘制

绘制结果:

pyg1.png

PyGraphviz 对于图、点和边的设置,如颜色、样式、形状等属性,分别提供有 graph_attr、node_attr 和 edge_attr 属性设置函数。

以上步骤中请注意 Graphviz 安装完成后,记得添加安装目录下的 bin 目录到系统 Path 中,不然会提示如下两种错误:

1ValueError: No prog dot in path. 2ValueError: Program dot not found in path.

本文同步分享在 博客“zhipingChen”(JianShu)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。

点赞
收藏

评论区

加载中...

相关推荐

MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1

文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s

Oracle 分组与拼接字符串同时使用

SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(

MySQL部分从库上面因为大量的临时表tmp_table造成慢查询

背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_

皕杰报表之UUID

​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为

手写Java HashMap源码

HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22

2020年前端实用代码段,为你的工作保驾护航

有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )