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 安装使用内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • python定时截屏实现

    python定时截屏实现

    这篇文章主要介绍了python定时截屏实现,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-11-11
  • pygame实现一个类似满天星游戏流程详解

    pygame实现一个类似满天星游戏流程详解

    这篇文章主要介绍了使用pygame来编写类满天星游戏的全记录,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习吧
    2022-09-09
  • 用Python编写一个基于终端的实现翻译的脚本

    用Python编写一个基于终端的实现翻译的脚本

    这篇文章主要介绍了用Python编写一个基于终端的实现翻译的脚本,代码基于Python2.x,需要的朋友可以参考下
    2015-04-04
  • python读取ini配置文件过程示范

    python读取ini配置文件过程示范

    这篇文章主要介绍了python读取ini配置文件过程示范,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-12-12
  • pytorch模型存储的2种实现方法

    pytorch模型存储的2种实现方法

    今天小编就为大家分享一篇pytorch模型存储的2种实现方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-02-02
  • Python实现微信公众平台自定义菜单实例

    Python实现微信公众平台自定义菜单实例

    这篇文章主要介绍了Python实现微信公众平台自定义菜单实例,本文直接给出实现代码,需要的朋友可以参考下
    2015-03-03
  • Python+OpenCV实现将图像转换为二进制格式

    Python+OpenCV实现将图像转换为二进制格式

    今天小编就为大家分享一篇Python+OpenCV实现将图像转换为二进制格式,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-01-01
  • 对Python 中矩阵或者数组相减的法则详解

    对Python 中矩阵或者数组相减的法则详解

    今天小编就为大家分享一篇对Python 中矩阵或者数组相减的法则详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-08-08
  • 基于python3.7利用Motor来异步读写Mongodb提高效率(推荐)

    基于python3.7利用Motor来异步读写Mongodb提高效率(推荐)

    Motor是一个异步mongodb driver,支持异步读写mongodb。它通常用在基于Tornado的异步web服务器中。这篇文章主要介绍了基于python3.7利用Motor来异步读写Mongodb提高效率,需要的朋友可以参考下
    2020-04-04
  • Python Pillow 图像处理库详解(常用Pillow函数及其参数)

    Python Pillow 图像处理库详解(常用Pillow函数及其参数)

    Pillow,原名PIL(Python Imaging Library),是一个功能强大的Python图像处理库,支持多种格式,提供丰富的图像操作功能,如旋转、缩放、颜色转换等,以及易于使用的API,Pillow支持广泛的图像文件格式,并提供图像过滤、绘制等功能
    2024-09-09

最新评论