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

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

绘制结果:

pyg1.png

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

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

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

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏AhDung

【手记】ASP.NET提示“未能创建类型”处理

我是在本机启动IIS Express调试一个ashx(一般处理程序)时遇到这个报错,网上的说法普遍有这么几种:

18040
来自专栏py+selenium

py+selenium IE 定位到元素,但点击不了元素的问题【已解决】

 参考:https://www.cnblogs.com/gihyuqinqin/p/8067685.html

63720
来自专栏一“技”之长

AppleWatch开发入门三——代码交互与控制器生命周期

        在前两篇博客中,讨论了关于watch开发中框架与界面布局相关,然而主要的逻辑,终究还是要通过代码来实现的,在我们创建了项目之后,就会生成Inte...

9830
来自专栏JackeyGao的博客

使用SASS做个可自定义主题的网页

Sass 是对 CSS 的扩展,让 CSS 语言更强大、优雅。 它允许你使用变量、嵌套规则、 mixins、导入等众多功能, 并且完全兼容 CSS 语法。 Sa...

38020
来自专栏DT乱“码”

微信小程序开发指引

官方文档教程1:http://bcoder.cn/wxopen/ 官方文档教程2:http://bing.aliaii.com/wxopen/  本文档将带你一...

590100
来自专栏草根专栏

使用VS Code开发asp.net core (上)

本文是基于Windows10的. 下载地址: https://code.visualstudio.com/ insider 版下载地址: https://cod...

37050
来自专栏编程直播室

Angular 2 中的绑定的方法在无限循环吗?

19840
来自专栏CodingBlock

Android查缺补漏(View篇)--布局文件中的“@+id”和“@id”有什么区别?

但需要注意的是在布局文件中,被引用的id要在引用位置的上面,否则会编译出错,如下:

13440
来自专栏极客编程

ionic入门之AngularJS扩展

ionic是一个强大的混合式/hybridHTML5移动开发框架,特点是使用标准的HTML、 CSS和JavaScript,开发跨平台(目前支持:Android...

10410
来自专栏云计算

在Ubuntu 16.04上安装WordPress

在本指南中,您将学习如何在运行Ubuntu 16.04的Linode上安装WordPress。WordPress是一个流行的动态内容管理系统,专注于博客。Wor...

73220

扫码关注云+社区

领取腾讯云代金券