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获取响应某个字段值的3种实现方法

    python获取响应某个字段值的3种实现方法

    这篇文章主要介绍了python获取响应某个字段值的3种实现方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-04-04
  • 高性能web服务器框架Tornado简单实现restful接口及开发实例

    高性能web服务器框架Tornado简单实现restful接口及开发实例

    Tornado和现在的主流Web服务器框架(包括大多数Python的框架)有着明显的区别:它是非阻塞式服务器,而且速度相当快。得利于其 非阻塞的方式和对epoll的运用,Tornado每秒可以处理数以千计的连接,这意味着对于实时Web服务来说,Tornado是一个理想的Web框架。
    2014-07-07
  • Python实现MySQL操作的方法小结【安装,连接,增删改查等】

    Python实现MySQL操作的方法小结【安装,连接,增删改查等】

    这篇文章主要介绍了Python实现MySQL操作的方法,结合实例形式分析了Python针对mysql的安装,连接,增删改查等操作实现方法,需要的朋友可以参考下
    2017-07-07
  • Python使用FTP上传文件的实现示例

    Python使用FTP上传文件的实现示例

    本文主要介绍了Python使用FTP上传文件的实现示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-03-03
  • python机器学习之KNN分类算法

    python机器学习之KNN分类算法

    这篇文章主要为大家详细介绍了python机器学习之KNN分类算法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-08-08
  • python做图片搜索引擎并保存到本地详情

    python做图片搜索引擎并保存到本地详情

    这篇文章主要介绍了python做图片搜索引擎并保存到本地详情,文章围绕主题展开详细的内容介绍,具有一定的参考价值,需要的朋友可以参考一下
    2022-08-08
  • python2 对excel表格操作完整示例

    python2 对excel表格操作完整示例

    这篇文章主要介绍了python2 对excel表格操作,结合完整实例形式分析了Python2 操作Excel表格的读取、写入相关操作技巧,需要的朋友可以参考下
    2020-02-02
  • Python语法分析之字符串格式化

    Python语法分析之字符串格式化

    这篇文章主要给大家介绍了关于Python语法分析之字符串格式化的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用Python具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-06-06
  • Python中str.join()简单用法示例

    Python中str.join()简单用法示例

    这篇文章主要介绍了Python中str.join()简单用法,结合实例形式分析了Python中str.join()用于连接生成新字符串的相关操作技巧,需要的朋友可以参考下
    2018-03-03
  • python实现人性化显示金额数字实例详解

    python实现人性化显示金额数字实例详解

    在本篇内容里小编给大家整理了关于python实现人性化显示金额数字实例内容,需要的朋友们可以参考下。
    2020-09-09

最新评论