标签: pygraphviz

如何在Pygraphviz中设置输出图像的宽度和高度

我正在创建一个.png文件,如下所示:

import pygraphviz as pgv
G = pgv.AGraph()
G.add_nodes("a")
G.add_edge("b", "c")

G.layout()
G.draw("output.png")
Run Code Online (Sandbox Code Playgroud)

如何设置输出图像的大小?

python graph graphviz pygraphviz

8
推荐指数
1
解决办法
6121
查看次数

在Os X 10.5.8上安装Graphviz

我正在尝试在osX 10.5.8上安装Graphviz 2.14.1
我从Universal Binary安装了Graphviz:

http://www.ryandesign.com/graphviz/  

$ svn co https://networkx.lanl.gov/svn/pygraphviz/trunk pygraphviz  

 - Fingerprint: 43:8e:fa:75:00:60:67:07:fd:04:3c:e7:bf:25:86:fd:66:b3:f6:cb  
(R)eject, accept (t)emporarily or accept (p)ermanently? t  
A    pygraphviz/pygraphviz  
A    pygraphviz/pygraphviz/graphviz.i  
A    pygraphviz/pygraphviz/graphviz.py  
A    pygraphviz/pygraphviz/tests  
A    pygraphviz/pygraphviz/tests/graph.txt  
A    pygraphviz/pygraphviz/tests/attributes.txt  
A    pygraphviz/pygraphviz/tests/__init__.py  
A    pygraphviz/pygraphviz/tests/test.py  
A    pygraphviz/pygraphviz/tests/layout_draw.txt  
A    pygraphviz/pygraphviz/graphviz_wrap.c  
A    pygraphviz/pygraphviz/__init__.py  
A    pygraphviz/pygraphviz/release.py  
A    pygraphviz/pygraphviz/agraph.py  
A    pygraphviz/INSTALL.txt  
A    pygraphviz/doc  
A    pygraphviz/doc/source  
A    pygraphviz/doc/source/contents.rst  
A    pygraphviz/doc/source/examples.rst  
A    pygraphviz/doc/source/static  
A    pygraphviz/doc/source/static/contents.png  
A    pygraphviz/doc/source/static/navigation.png  
A    pygraphviz/doc/source/static/sphinxdoc.css  
A    pygraphviz/doc/source/static/empty.txt  
A    pygraphviz/doc/source/tutorial.rst  
A    pygraphviz/doc/source/conf.py  
A    pygraphviz/doc/source/install.rst  
A    pygraphviz/doc/source/download.rst  
A    pygraphviz/doc/source/reference  
A    pygraphviz/doc/source/reference/news.rst  
A …
Run Code Online (Sandbox Code Playgroud)

python graphviz pygraphviz

6
推荐指数
2
解决办法
8310
查看次数

使用 PyGraphviz 绘制有关图\节点的更多信息

我想创建一个图表并绘制它,到目前为止一切顺利,但问题是我想在每个节点上绘制更多信息。我看到我可以将属性保存到节点\边缘,但是如何绘制属性?我正在使用 PyGraphviz 女巫使用 Graphviz。

python graphviz pygraphviz

6
推荐指数
1
解决办法
4824
查看次数

在mint-15 linux上显示python的.png图像

我试图显示.png我使用以下构建的文件.

import pydot, StringIO
dot_data = StringIO.StringIO() 
tree.export_graphviz( clf, out_file = dot_data,    
feature_names =['age', 'sex', 'first_class', 'second_class', 'third_class'])
graph = pydot.graph_from_dot_data( dot_data.getvalue())
graph.write_png('titanic.png') 
from IPython.core.display import Image
Image( filename ='titanic.png')
Run Code Online (Sandbox Code Playgroud)

我从未这样做过,非常感谢你的帮助.

我尝试了以下但没有错误也没有.png显示.

from PIL import Image
image = Image.open("titanic.png")
image.show()
Run Code Online (Sandbox Code Playgroud)

python numpy pygraphviz scikit-learn

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

pygraphviz错误:在路径中找不到程序neato

我正在运行Windows 7,并使用python版本2.7.

我一直在尝试使用pygraphviz,但每当我G.layout()在图表上使用时,我都会收到错误消息;

Traceback (most recent call last):
  File "<pyshell#16>", line 1, in <module>
    G.layout()
  File "C:\Python27\lib\site-packages\pygraphviz\agraph.py", line 1305, in layout
    data=self._run_prog(prog,' '.join([args,"-T",fmt]))
  File "C:\Python27\lib\site-packages\pygraphviz\agraph.py", line 1251, in _run_prog
    runprog=r'"%s"'%self._get_prog(prog)
  File "C:\Python27\lib\site-packages\pygraphviz\agraph.py", line 1239, in _get_prog
    raise ValueError("Program %s not found in path."%prog)
ValueError: Program neato not found in path.
Run Code Online (Sandbox Code Playgroud)

但是,我知道Graphviz文件已经安装,目录在我的路径中(我手动去了并添加了它).

我已经尝试过这里给出的simlink解决方案,但是当我进入命令行(管理员模式)时我得到的是一条消息,说它不被识别为内部或外部命令,可操作程序或批处理文件.我没有足够的经验知道是否有一些我没有做到的事情.

我能做些什么来使这项工作?

python pygraphviz

6
推荐指数
1
解决办法
1826
查看次数

Pygraphviz/networkx设置节点级别或层

我有一个代表一种家谱树的数据集.每个节点有2个父母(第一代除外,他们没有父母).对于给定节点,其父节点可以来自任何前一代节点.例如,生成n中的节点可以具有n-1中的父节点和n-5中的另一个父节点.节点可以是其他几个节点的父节点.

基本上,对于每个节点,我都知道它的生成及其父节点.

我试图表示这个图表保持同一行中的同一代的节点.每一代都有10个节点,第一代除外.

到目前为止,我正在尝试"点"布局.当我只输入两代时它做得很好,但是当我输入3代时,它"太聪明"了,并以某种方式重新排列节点.

例如,以下数据代表3代:

[(的ObjectId( '530b2ad783a1a15e695c9711'),的ObjectId( '530b804883a1a15e695c972b')),(的ObjectId( '530b2ad783a1a15e695c971c'),的ObjectId( '530b804883a1a15e695c972b')),(的ObjectId( '530b2ad783a1a15e695c9709'),的ObjectId( '530b804883a1a15e695c9727')),(的ObjectId( '530b2ad783a1a15e695c970a'),的ObjectId( '530b804883a1a15e695c9727')),(的ObjectId( '530b2ad783a1a15e695c970b'),的ObjectId( '530b804883a1a15e695c9724')),(的ObjectId( '530b2ad783a1a15e695c970f'),的ObjectId( '530b804883a1a15e695c9724')),(的ObjectId( '530b2ad783a1a15e695c9714'),的ObjectId( '530b804883a1a15e695c9729')),(的ObjectId( '530b2ad783a1a15e695c970e'),的ObjectId( '530b804883a1a15e695c9729')),(的ObjectId( '530b2ad783a1a15e695c9711'),的ObjectId( '530b804883a1a15e695c9723')),(的ObjectId('530b2ad783a1a15e695c970e '),的ObjectId(' 530b804883a1a15e695c9723 ')),(的ObjectId(' 530b2ad783a1a15e695c971c '),的ObjectId(' 530b804883a1a15e695c9728 ')),(的ObjectId(' 530b2ad783a1a15e695c9719 '),的ObjectId(' 530b804883a1a15e695c9728 ')),(的ObjectId(' 530b2ad783a1a15e695c9714' ) ,ObjectId('530b804883a1a1 5e695c9726 ')),(的ObjectId(' 530b2ad783a1a15e695c9713 '),的ObjectId(' 530b804883a1a15e695c9726 ')),(的ObjectId(' 530b2ad783a1a15e695c9716 '),的ObjectId(' 530b804883a1a15e695c9722 ')),(的ObjectId(' 530b2ad783a1a15e695c9719 '),的ObjectId(' 530b804883a1a15e695c9722' )),(的ObjectId( '530b2ad783a1a15e695c970d'),的ObjectId( '530b804883a1a15e695c9725')),(的ObjectId( '530b2ad783a1a15e695c9715'),的ObjectId( '530b804883a1a15e695c9725')),(的ObjectId( '530b804883a1a15e695c9724'),的ObjectId( '530ba27c83a1a15e695c972d')) ,(的ObjectId( '530b2ad783a1a15e695c9713'),的ObjectId( '530ba27c83a1a15e695c972d')),(的ObjectId( '530b804883a1a15e695c9724'),的ObjectId( '530ba27c83a1a15e695c972e')),(的ObjectId( '530b2ad783a1a15e695c9709'),的ObjectId( '530ba27c83a1a15e695c972e')),(的ObjectId( '530b804883a1a15e695c9727'),的ObjectId( '530ba27c83a1a15e695c972f')),(的ObjectId( '530b2ad783a1a15e695c9709'),的ObjectId( '530ba27c83a1a15e695c972f')),(的ObjectId( '530b2ad783a1a15e695c9713'),的ObjectId( '530ba27c83a1a15e695c9730')),(的ObjectId( '530b2ad783a1a15e695c9709'),ObjectId(' 530ba27c83a1a15e695c9730 ')),(的ObjectId(' 530b2ad783a1a15e695c9713 '),的ObjectId(' 530ba27c83a1a15e695c9731 ')),(的ObjectId(' 530b804883a1a15e695c9725 '),的ObjectId(' …

python graphviz data-representation networkx pygraphviz

6
推荐指数
2
解决办法
3962
查看次数

Python Graphs:节点标签的 Latex Math 渲染

我正在使用以下代码来创建pygraphviz图表。但是否有可能让它呈现乳胶数学方程(见图 1)?如果没有,是否有替代的 python 库可以绘制类似的图形但支持乳胶渲染?

import networkx as nx

from networkx.drawing.nx_agraph import to_agraph

G=nx.DiGraph()
G.add_node(1,color='blue',style='filled',
             fillcolor='white',shape='square', label="$3x+2$")
G.add_node(2)
G.add_node(3)
G.add_edge(1, 2)
G.add_edge(1, 3)
G.add_edge(3, 4)

A = to_agraph(G)
A.layout('dot')
A.draw('test1.png')
Run Code Online (Sandbox Code Playgroud)

这导致下图

图1

图1

python latex networkx pygraphviz

6
推荐指数
1
解决办法
1957
查看次数

是否可以在没有中间文件的情况下获得pydot图的输出?

我有一个非常简单的图表,我想绘制为svg.例如:

# graph.dot
graph { 
        a -- b; 
        b -- c; 
    } 
Run Code Online (Sandbox Code Playgroud)

我目前正在使用pydot读取文件,然后生成svg文件,如下所示:

import pydot
graphs = pydot.graph_from_dot_file('graph.dot')
graphs[0].write_svg('graph.svg') # there is only 1 graph so the 0 index.
Run Code Online (Sandbox Code Playgroud)

但是,我需要这样做而不需要中间文件graph.dotgraph.svg.我有graph.dot一个字符串中的代码内容,对应于我需要字符串中的svg输出.

我需要这样的东西:

graph_dot = "... ..." # string, I have this
graph_svg = convert_dot_to_svg(graph_dot) 
# i need something like convert_dot_to_svg()
Run Code Online (Sandbox Code Playgroud)

我的问题不仅限于pydot.如果有人知道我可以做到这一点的web api,那么它也会这样做.

非常感谢,提前.

python svg graphviz pygraphviz pydot

6
推荐指数
1
解决办法
3210
查看次数

如何使用pygraphviz增加点图中节点之间的间距?

我在尝试增加我正在制作的分层图中的节点之间的间距时遇到了麻烦。我希望在该图上放置标签,因此节点之间的间距必须相当大,但我不确定 pygraphvis_layout 的“args”参数如何工作,或者我是否正确使用它。

似乎相同等级的节点之间的间距应该至少为 2 英寸,但这并没有反映在实际图像中。据我测试,改变提供给 nodeep 的数字对间距没有影响。

我已经查看了其他解决方案:pydot 没有工作,似乎输出了我无法打开的 png 文件,而且我已经在使用 NetworkX 来绘制其他相关的图形。

(除了指定的导入之外,复制还需要 graphviz。)

import networkx as nx
import matplotlib.pyplot as plt
from networkx.drawing.nx_agraph import pygraphviz_layout

plt.figure(figsize=(10, 7))
graph = nx.DiGraph([(0, 1), (0, 2),
                    (1, 3), (1,4), (2,5), (2,6),
                    (3, 7), (3, 8), (4, 9), (4, 10), (5, 11), (5, 12), (6, 13), (6, 14)])
pos = pygraphviz_layout(graph, prog="dot", args='-Gnodesep=2')
nx.draw_networkx_nodes(
    graph, pos, nodelist=graph.nodes, node_size=1000, node_color="r", alpha=0.8
)
nx.draw_networkx_edges(graph, pos, edgelist=graph.edges, width=1, edge_color="k")
plt.axis("off")
plt.savefig("test.svg")
plt.show()
Run Code Online (Sandbox Code Playgroud)

来自片段的结果图像

python networkx pygraphviz

6
推荐指数
1
解决办法
209
查看次数

使用nx.draw_graphviz在python中使用graphviz布局绘制图形会出错

我试图在python的networkx中以graphviz布局绘制一个100节点的多图G,所以到目前为止我进行了两次试验:

试验1 nx.draw_graphviz函数如下,nx.draw_graphviz(G)但是我对图中的所有节点重复了以下错误:

错误:节点1,位置[0.127506302389087,0.3262608552621944],预计两个双打

然后试图找到一个解决方案,我使用试验2 A=nx.to_agraph(G)得到一个pygraphviz图,但当我尝试绘制时,nx.draw_graphviz(A)我得到以下错误:

AttributeError:'AGraph'对象没有属性'number_of_selfloops'

nx.graphviz_layout但它返回了一个由节点键入的位置字典,我不知道如何用它来绘制graphviz布局.

注意我导入了graphviz,pygraphviz和pydot模块,但我不知道哪些是真正需要的,但它仍然不起作用.

是否缺少在graphviz布局中绘制networkx图形的东西?

完整跟踪错误

试验1

Traceback (most recent call last):
  File "main.py", line 102, in <module>
    d.display_graph(sub_normal,NEUTRAL_RANGE)
  File "/home/abdallah/stage/Reputation_system/display.py", line 33, in display_graph
    nx.draw_graphviz(G)
  File "/usr/local/lib/python2.7/dist-packages/networkx-1.10-py2.7.egg/networkx/drawing/nx_pylab.py", line 982, in draw_graphviz
    pos = nx.drawing.graphviz_layout(G, prog)
  File "/usr/local/lib/python2.7/dist-packages/networkx-1.10-py2.7.egg/networkx/drawing/nx_pydot.py", line 257, in graphviz_layout
    return pydot_layout(G=G,prog=prog,root=root,**kwds)
  File "/usr/local/lib/python2.7/dist-packages/networkx-1.10-py2.7.egg/networkx/drawing/nx_pydot.py", line 277, in pydot_layout
    D=P.create_dot(prog=prog)
  File "/usr/lib/python2.7/dist-packages/pydot.py", line 1802, in <lambda>
    lambda f=frmt, prog=self.prog : self.create(format=f, prog=prog))
  File …
Run Code Online (Sandbox Code Playgroud)

python graphviz networkx pygraphviz pydot

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