首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >pygraphviz没有AGraph属性

pygraphviz没有AGraph属性
EN

Stack Overflow用户
提问于 2019-01-09 03:57:22
回答 1查看 1.1K关注 0票数 1

我正在尝试构建一个应用程序来在plotly中可视化一个网络。然而,我的pygraphviz安装似乎给我带来了麻烦。每次我尝试运行代码时,都会出现错误"AttributeError:模块'pygraphviz‘没有属性'AGraph'“

我正在使用Anaconda发行版,并尝试使用几种不同的渠道安装pygraphviz,但总是出现相同的错误。我最终手动下载了.whl文件,并使用pip安装它,如下所示:

howto install pygraphviz on windows 10 64bit

我运行的是一台装有python 3.4版的windows1064位计算机。下面是我尝试运行的一些代码的示例(从pygraphviz安装中的examples文件夹复制):

代码语言:javascript
复制
from __future__ import absolute_import
from __future__ import unicode_literals
from __future__ import print_function
from __future__ import division

import pygraphviz as pgv

A=pgv.AGraph(directed=True,strict=True,rankdir='LR')

A.add_node(1,color='red') 
A.add_node(5,color='blue')

A.add_edge(1,2,color='green')
A.add_edge(2,3)
A.add_edge(1,3)
A.add_edge(3,4)
A.add_edge(3,5)
A.add_edge(3,6)
A.add_edge(4,6)

A.graph_attr['epsilon']='0.001'
print(A.string()) # print dot file to standard output
A.layout('dot') # layout with dot
A.draw('foo.ps') # write to file

这给出了错误"AttributeError:模块'pygraphviz‘没有属性'AGraph'“。任何帮助都将不胜感激!

EN

回答 1

Stack Overflow用户

发布于 2019-05-19 20:33:25

在我的例子中,我不得不替换我的旧程序中的以下代码行(pygraphviz使用python 2.7):

代码语言:javascript
复制
my_graph = graphviz.AGraph(id="my_graph", name="my_graph", file=self.fileName)

my_graph.layout(prog='dot')

my_graph.draw(path="my_graph3.svg", format="svg")

通过以下方式:

代码语言:javascript
复制
from graphviz import Source, render

my_graph = graphviz.Digraph(name="my_graph", engine='dot')
my_graph.src = Source(srcStr, filename=None, directory=None, format='svg', engine='dot', encoding='utf-8')
my_graph.src.render('dot', 'svg', 'my_graph3.svg',renderer='cairo', formatter='cairo')

srcStr是一个字符串,如下所示:

代码语言:javascript
复制
digraph "pet-shop" {
    graph [rankdir=LR]
    node [shape=plaintext]
    edge [arrowhead=vee arrowsize=2]
    parrot
    dead
    parrot -> dead
}

虽然我认为这会创建一个my_graph3.svg文件,但它实际上创建了一个文件夹svg,其中包含文件'dot.cairo.cairo.svg‘。

此外,它需要大量的试验和错误来获得这一点,所以如果它有帮助,我将其张贴出来。任何与改进参数相关的意见都将受到欢迎。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54098880

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档