标签: pygraphviz

如何在pygraphviz中创建无向图?

我试图在pygraphviz中生成无向图,但是没有成功.似乎无论我做什么,图表总是指向.

Example #1
G = pgv.AGraph(directed=False)
G.is_directed()  # true

Example #2
G = pgv.AGraph()
G.to_undirected().is_directed()  # True

Example #3
G = pgv.AGraph(directed=False)
G.graph_attr.update(directed=False)
G.is_directed()  # true
Run Code Online (Sandbox Code Playgroud)

我不知道为什么这么简单的事情无法奏效.我做错了什么?

python graphviz pygraphviz

5
推荐指数
1
解决办法
781
查看次数

pygraphviz ValueError:路径中找不到程序点

问题是:我在Windows7上,我已经安装了pygraphviz库和Graphviz应用程序(Graphviz应用程序在"C:\ Program Files"中).当我在python上运行我的程序时,我有以下消息:

g.draw(filename,prog='dot')
  File "C:\Python27\lib\site-packages\pygraphviz\agraph.py", line 1418, in draw
    data=self._run_prog(prog,args)
  File "C:\Python27\lib\site-packages\pygraphviz\agraph.py", line 1248, in _run_prog
    runprog=self._get_prog(prog)
  File "C:\Python27\lib\site-packages\pygraphviz\agraph.py", line 1236, in _get_prog
    raise ValueError("Program %s not found in path."%prog) 
ValueError: Program dot not found in path.
Run Code Online (Sandbox Code Playgroud)

我怎么解决这个问题?

python graphviz pygraphviz

5
推荐指数
1
解决办法
4524
查看次数

以编程方式在networkx的pygraphviz/dot包装器中指定相同等级的节点

是否可以更改以下代码以将Child_4置于与Grandchild_0相同的水平级别(从而将Grandchild_4推送到自己的级别)?

import networkx as nx
import matplotlib.pyplot as plt

G = nx.DiGraph()
G.add_node("ROOT")
for i in xrange(5):
    G.add_node("Child_%i" % i)
    G.add_node("Grandchild_%i" % i)
    G.add_edge("ROOT", "Child_%i" % i)
    G.add_edge("Child_%i" % i, "Grandchild_%i" % i)

pos=nx.graphviz_layout(G,prog='dot')
nx.draw(G,pos,arrows=False)
plt.show()
Run Code Online (Sandbox Code Playgroud)

上面的代码产生了以下布局,我想通过将子级向下移动一级以与孙子级别水平对齐来改变: img显示了一个根节点,五个孩子,以及每个孩子下面的一个孙子


在Python网络库networkx中,我使用graphviz的点引擎来渲染树(遵循此建议).我想通过指定哪些节点应具有相同的高度来控制节点的y位置.节点可能位于树中的不同深度.

我知道如果我通过使用rank=same命令编写自己的graphviz代码(例如,{rank=same; n4 -> p2;}[ ex. ]),我可以控制节点高度.但是,我依赖于networkx.graphviz_layout()[ doc | source ]生成节点位置,graphviz_layout只能向pygraphviz发送命令行参数.我尝试使用变体nx.graphviz_layout(G, prog='dot', args="-Grank=same; n4 -> p2;")失败了. 是否有可能在pygraphviz的NetworkX包装器中描述所需的节点高度,或者我是否需要在pygraphviz周围编写自己的包装器? 编辑:答案为pygraphviz提供了一个新的包装器.它将显着简化在pygraphviz的现有NetworkX包装器中发送排名信息的事情.如果有人能告诉我这是怎么可能的话,我会改变我接受的答案.

dot graphviz networkx pygraphviz

5
推荐指数
1
解决办法
2640
查看次数

水平树与graphviz_layout

在python中,使用networkx.我可以绘制一个垂直树:

   g=nx.balanced_tree(2,4)
   pos = nx.graphviz_layout(g, prog='dot')
   nx.draw(g,pos,labels=b_all, node_size=500)
   plt.show()
Run Code Online (Sandbox Code Playgroud)

相近

   [root]
     |
  |      |
 node   node
Run Code Online (Sandbox Code Playgroud)

如何绘制水平树?

        -- node
[root] - 
        -- node
Run Code Online (Sandbox Code Playgroud)

python graphviz networkx pygraphviz

5
推荐指数
1
解决办法
1591
查看次数

没有名为_graphviz的模块

当我打开一个cmd并输入时,我安装了graphviz和pygraphviz

python
import _graphviz
Run Code Online (Sandbox Code Playgroud)

_graphviz可以导入,但是当我运行一个将调用.py文件的C++程序时,这个.py文件中有一行是

import pygraphviz as pgv
Run Code Online (Sandbox Code Playgroud)

然后它将无法导入_graphviz,它显示以下信息:

Traceback (most recent call last):
  File "E:\project\graph\analysis\x64\Debug\gengraph.py", line 1, in <module>
    import pygraphviz as pgv
  File "C:\Program Files\Python27\lib\site-packages\pygraphviz\__init__.py", lin
e 54, in <module>
    from agraph import AGraph, Node, Edge, Attribute, ItemAttribute
  File "C:\Program Files\Python27\lib\site-packages\pygraphviz\agraph.py", line
20, in <module>
    import graphviz as gv
  File "C:\Program Files\Python27\lib\site-packages\pygraphviz\graphviz.py", lin
e 7, in <module>
    import _graphviz
ImportError: No module named _graphviz
Run Code Online (Sandbox Code Playgroud)

能帮帮我吗,欢迎任何建议,谢谢!

python import graphviz importerror pygraphviz

5
推荐指数
1
解决办法
8038
查看次数

pygraphviz,ImportError:未定义的符号:Agundirected

import pygraphviz

Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/local/lib/python2.7/dist-packages/pygraphviz/__init__.py", line 58, in <module>
    from .agraph import AGraph, Node, Edge, Attribute, ItemAttribute, DotError
File "/usr/local/lib/python2.7/dist-packages/pygraphviz/agraph.py", line 26, in <module>
    from . import graphviz as gv
File "/usr/local/lib/python2.7/dist-packages/pygraphviz/graphviz.py", line 28, in <module>
    _graphviz = swig_import_helper()
File "/usr/local/lib/python2.7/dist-packages/pygraphviz/graphviz.py", line 24, in swig_import_helper
    _mod = imp.load_module('_graphviz', fp, pathname, description)
ImportError: /usr/local/lib/python2.7/dist-packages/pygraphviz/_graphviz.so: undefined symbol: Agundirected
Run Code Online (Sandbox Code Playgroud)

我已经尝试过了

pip install pygraphviz --install-option="--include-path=/usr/include/graphviz" --install-option="--library-path=/usr/lib/graphviz/"
Run Code Online (Sandbox Code Playgroud)

我也试过这个答案,但仍然无法正常工作

Python没有看到pygraphviz

python import ubuntu pygraphviz

5
推荐指数
1
解决办法
2688
查看次数

Pip安装pygraphviz失败:pygraphviz构建轮失败

我在macOS 10.10.5上安装pygraphviz时遇到了麻烦.我有一个功能齐全的Python 2.7.x安装,我想运行排队工具测试示例,这需要使用pip安装pygraphviz.

执行命令时pip install pygraphviz,我收到以下冗长的错误消息:

Collecting pygraphviz
  Using cached pygraphviz-1.3.1.zip
Building wheels for collected packages: pygraphviz
  Running setup.py bdist_wheel for pygraphviz ... error
  Complete output from command /usr/local/opt/python/bin/python2.7 -u -c "import setuptools, tokenize;__file__='/private/var/folders/x3/nr48r8q10dv1lb9l9t_yx7kh0000gq/T/pip-build-Ljj4Ox/pygraphviz/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" bdist_wheel -d /var/folders/x3/nr48r8q10dv1lb9l9t_yx7kh0000gq/T/tmpcYcoACpip-wheel- --python-tag cp27:
  running bdist_wheel
  running build
  running build_py
  creating build
  creating build/lib.macosx-10.10-x86_64-2.7
  creating build/lib.macosx-10.10-x86_64-2.7/pygraphviz
  copying pygraphviz/__init__.py -> build/lib.macosx-10.10-x86_64-2.7/pygraphviz
  copying pygraphviz/agraph.py -> build/lib.macosx-10.10-x86_64-2.7/pygraphviz
  copying pygraphviz/graphviz.py -> build/lib.macosx-10.10-x86_64-2.7/pygraphviz
  copying pygraphviz/release.py -> build/lib.macosx-10.10-x86_64-2.7/pygraphviz …
Run Code Online (Sandbox Code Playgroud)

python macos homebrew python-2.7 pygraphviz

5
推荐指数
5
解决办法
1万
查看次数

在Windows上安装pygraphviz

在我的Windows 7 Ultimate 64bit上安装最新的graphviz(2.26.3)之后,我收到以下错误:

C:> easy_install pygraphviz搜索pygraphviz阅读 http://pypi.python.org/simple/pygraphviz/ 阅读 http://networkx.lanl.gov/pygraphviz 阅读 http://networkx.lanl.gov/wiki/download 阅读 http://networkx.lanl.gov/download/pygraphviz 阅读 http://sourceforge.net/project/showfiles.php?group_id=122233&package_id=161979 阅读 http://networkx.lanl.gov/download最佳匹配:pygraphviz 1.1 .dev1947正在下载 http://networkx.lanl.gov/download/pygraphviz/pygraphviz-1.1.dev1947.tar.gz 处理pygraphviz-1.1.dev1947.tar.gz运行pygraphviz-1.1.dev1947\setup.py -q bdist_egg - -dist-dir c:\ users\jonathan\appdata\local\temp\easy_install-apywwk\pygraphviz-1.1.dev1947\egg-dist-tmp-nvd0pa尝试pkg-config无法找到pkg-config尝试dotneato-config失败找到dotneato-config

找不到您的graphviz安装.

在不完整的二进制包graphviz-dev或graphviz-devel缺失的情况下,graphviz包是否缺失?).

如果您认为安装正确,则需要手动更改setup.py中的include_path和library_path变量,以指向graphviz安装的正确位置.

library_path和include_path的当前设置是:library_path = None include_path = None

错误:无

有任何想法如何解决这个问题?
这似乎与这里描述的问题不同.
有没有人成功在Windows上安装pygraphviz?怎么样?

windows failed-installation pygraphviz

4
推荐指数
1
解决办法
7012
查看次数

pygraphviz OSError:格式:无法识别“点”。使用以下之一:

我想使用 pygraphviz 绘制由 DEAP 生成的树。我尝试按照此DEAP 文档中的示例进行操作,但出现以下错误:

Traceback (most recent call last):
  File "<input>", line 24, in <module>
  File "C:\Users\xxyao\program\anaconda\envs\rf\lib\site-packages\pygraphviz\agraph.py", line 1399, in layout
    data = self._run_prog(prog, ' '.join([args, "-T", fmt]))
  File "C:\Users\xxyao\program\anaconda\envs\rf\lib\site-packages\pygraphviz\agraph.py", line 1364, in _run_prog
    raise IOError(b"".join(errors).decode(self.encoding))
OSError: Format: "dot" not recognized. Use one of:
Run Code Online (Sandbox Code Playgroud)

似乎应该在之后Use one of:有一些词,但没有。我的环境是Python==3.6, graphviz==3.41, pygraphviz==1.5.Thegraphviz并且pygraphviz是通过conda.

顺便说一下,我尝试了以下方法:

  1. 安装graphviz并添加C:\Program Files (x86)\Graphviz2.38\bin到系统环境中。
  2. conda install pydot, conda install pydot-ng

但它仍然不起作用。

进一步信息: …

python graphviz pygraphviz

4
推荐指数
1
解决办法
2606
查看次数

带有中文标签的 networkx draw_graphviz

我有一个图表,其中节点标签是中文的。我想用 绘制它draw_graphviz(),但是保存图像时,不会显示中文字符。相反,它们显示为白色块。

我只想知道如何设置字体。

nx.draw_graphviz(G, font_size=6, node_size=80, font_family='serif', font_color='b', alpha=0.1)       
plt.savefig("community__large" + str(i) + ".png")  
plt.close()
Run Code Online (Sandbox Code Playgroud)

以上是我现在使用的代码。

python networkx neato pygraphviz

3
推荐指数
1
解决办法
1778
查看次数