PyGraphviz 安装使用及注意事项

 更新时间:2023年02月22日 14:36:28   作者:山长何处  
PyGraphviz 是对 Graphviz 的封装,提供了 Python 接口的调用,这篇文章主要介绍了PyGraphviz 安装使用,本文通过实例代码给大家介绍的非常详细,需要的朋友可以参考下

1. 工具说明

PyGraphviz 是对 Graphviz 的封装,提供了 Python 接口的调用。

Graphviz 是贝尔实验室开发的一个开源的工具包,它使用一个特定的DSL(领域特定语言):dot作为脚本语言,然后使用布局引擎来解析此脚本,并完成自动布局,提供了对图、点、边的简易操作。

封装后的 PyGraphviz 可以很容易用来绘制想要的图形。

2. linux安装

以ubuntu16.04为例

sudo apt-get install graphviz
sudo apt-get install graphviz libgraphviz-dev pkg-config
sudo apt-get install python-pip python-virtualenv
pip install pygraphviz

注意graphiviz-dev是pygraphviz所依赖的必须安装。

附几个可能用到的下载链接:
pygraphviz-1.3.tar.gz
Graphviz
ubuntu-graphviz/graphviz-dev

3. windows安装

3.1 安装 python

选择 python 版本并下载,这里示例使用的是 python 3.4.4 ,msi 格式的文件。 python下载链接
注意:
目前PyGraphviz官网下载链接里已经不支持3.4版本,只有2.7版本的PyGraphviz可以下载,所以这里python环境改用2.7.16.以下涉及python 3.4版本的内容同理类推。python2.7.16下载链接(下载最新即可)

安装 python 并添加安装目录到系统变量中的 Path 中(可在安装过程中选择自动配置),(参考windows系统如何设置添加环境变量,不再赘述),同时添加 Scripts 目录到 Path 中。以便于后续使用 python.exe 和 pip.exe 两个执行文件。
注意:
若发现安装目录中并没有scripts目录,应该是自己安装的python版本太旧,虽然有各种办法可以补救,但鉴于考虑时间成本,不如直接使用更新的python版本,重新安装。

安装完成后,有可能提示安装的pip版本太旧(这里从pip 18.1更新到20.3),可根据提示使用以下命令更新。

python -m pip install --upgrade pip

在cmd窗口中可以使用python和pip两条命令,即表示安装成功

3.2 安装 Graphviz

下载 Graphviz 安装包并安装,这里示例使用的是 Graphviz2.49.0,Graphviz下载链接

安装后添加安装目录下 bin 目录到系统 Path 中,以便后续使用 dot.exe 文件

在cmd窗口下可以使用dot命令即表示完装成功。

test

新建simple.dot文件,键入以下内容:

//dot simple.dot -Tpng -o simple1.png  -Gsplines=line  
digraph G {
  //a -> c;
  a -> b;
  b -> c;
  subgraph x{
      rank=same;
      b->d;
  }
  subgraph y{
      //rank = same;
      d->e;
  }
  subgraph z{
    rank=same;
    c->e;
  }

 }

在cmd窗口键入

dot simple1.dot -Tpng -o simple1.png -Gsplines   
//-Gsplines=line  表示强迫边是直线.

在simple对应目录下应该出现名为simple1.png的图片。

3.3 安装 PyGraphviz

下载 PyGraphviz 并安装,这里示例使用的是 PyGraphviz 1.3.1-cp34 版本,其中 cp34 表示 python 版本是 3.4,PyGraphviz下载链接
目前官网下载好像已经没有3.4版本了,只支持2.7版本 (又有3.4版了,就很迷,自己看情况下吧)

使用 pip 安装下载后的 whl 文件

pip install pygraphviz-1.3.1-cp34-none-win_amd64.whl
// 若提示平台不支持 ***whl is not a supported wheel on this platform.,请更换win32版本

3.4 PyGraphviz 使用

新建simple2.py文件

# coding=UTF-8
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')   #绘制

在simple2.py所在目录下,键入

python simple2.py

出现名为pyg1.png的图片文件。

3.5 注意事项

PyGraphviz 对于图、点和边的设置,如颜色、样式、形状等属性,分别提供有 graph_attr、node_attr 和 edge_attr 属性设置函数。
以上各步骤中请注意: 安装完成后,记得添加安装目录下的 bin 目录到系统 Path 中,不然会提示python pip dot命令找不到。

4. 参考文献

  1. windows pygraphviz安装 | CSDN
  2. PyGraphviz 安装使用 | 简书
  3. Python does not see pygraphviz | Stack Overflow
  4. Ubuntu 软件搜索结果graphviz
  5. 用graphviz,pygraphviz快速自动绘图 | 博客园
  6. 初识Graphviz | 新浪博客
  7. 使用graphviz绘制流程图 | I code it
  8. https://github.com/pygraphviz/pygraphviz

到此这篇关于PyGraphviz 安装使用的文章就介绍到这了,更多相关PyGraphviz 安装使用内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 基于Pycharm加载多个项目过程图解

    基于Pycharm加载多个项目过程图解

    这篇文章主要介绍了基于Pycharm加载多个项目过程图解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-01-01
  • Python中shutil模块的使用详解

    Python中shutil模块的使用详解

    这篇文章主要为大家介绍了Python中shutil模块的使用方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助
    2022-01-01
  • python pandas中对Series数据进行轴向连接的实例

    python pandas中对Series数据进行轴向连接的实例

    今天小编就为大家分享一篇python pandas中对Series数据进行轴向连接的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-06-06
  • 一文带你掌握Matplotlib图形绘制

    一文带你掌握Matplotlib图形绘制

    Matplotlib是一个基于Python的绘图库,它提供了一整套与Matlab相似的命令API,非常适合交互式绘图,这篇文章主要给大家介绍了关于Matplotlib图形绘制的相关资料,需要的朋友可以参考下
    2023-09-09
  • 使用Python NumPy库绘制渐变图案

    使用Python NumPy库绘制渐变图案

    NumPy(Numerical Python)是Python的一种开源的数值计算扩展。这种工具可用来存储和处理大型矩阵。但其实NumPy还可以绘制图画,本文将为大家介绍如何通过NumPy绘制彩色图画,感兴趣的小伙伴可以了解一下
    2021-12-12
  • python如何代码集体右移

    python如何代码集体右移

    在本篇文章里小编给各位分享的是一篇关于python如何代码集体右移的相关知识点文章,需要的朋友们可以学习下。
    2020-07-07
  • Python机器学习之决策树算法实例详解

    Python机器学习之决策树算法实例详解

    这篇文章主要介绍了Python机器学习之决策树算法,较为详细的分析了实例详解机器学习中决策树算法的概念、原理及相关Python实现技巧,需要的朋友可以参考下
    2017-12-12
  • Python Celery动态添加定时任务生产实践指南

    Python Celery动态添加定时任务生产实践指南

    elery是一种异步任务队列,如果还不熟悉这个开源软件的请先看看官方文档,快速入门,下面这篇文章主要给大家介绍了关于Python Celery动态添加定时任务生产实践的相关资料,需要的朋友可以参考下
    2022-08-08
  • WxPython界面利用pubsub如何实现多线程控制

    WxPython界面利用pubsub如何实现多线程控制

    这篇文章主要介绍了WxPython界面利用pubsub如何实现多线程控制,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-11-11
  • Python 中@property的用法详解

    Python 中@property的用法详解

    这篇文章主要介绍了Python 中@property的用法详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-01-01

最新评论