2015-01-27 3 views
1

Я пытаюсь использовать метод graph_draw в graph_tool. Я вижу ссылки на него в site_packages и в документацииОтсутствует graph_draw из графика otx graph_tool?

./cgenv/lib/python2.6/site-packages/graph_tool/draw/__init__.py: graph_draw 
./cgenv/lib/python2.6/site-packages/graph_tool/draw/__init__.py:__all__ = ["graph_draw", "graphviz_draw", "fruchterman_reingold_layout", 
./cgenv/lib/python2.6/site-packages/graph_tool/draw/__init__.py: >>> gt.graph_draw(g, pos=pos, output="graph-draw-fr.pdf") 
./cgenv/lib/python2.6/site-packages/graph_tool/draw/__init__.py:  gt.graph_draw(g, pos=pos, output="graph-draw-fr.png") 
./cgenv/lib/python2.6/site-packages/graph_tool/draw/__init__.py: >>> gt.graph_draw(g, pos=pos, output="graph-draw-arf.pdf") 
./cgenv/lib/python2.6/site-packages/graph_tool/draw/__init__.py:  gt.graph_draw(g, pos=pos, output="graph-draw-arf.png") 
./cgenv/lib/python2.6/site-packages/graph_tool/draw/__init__.py:   graph_draw(u, mivs, vertex_fillcolor=mivs) 
./cgenv/lib/python2.6/site-packages/graph_tool/draw/__init__.py: >>> gt.graph_draw(g, pos=pos, output="graph-draw-sfdp.pdf") 
./cgenv/lib/python2.6/site-packages/graph_tool/draw/__init__.py:  gt.graph_draw(g, pos=pos, output="graph-draw-sfdp.png") 
./cgenv/lib/python2.6/site-packages/graph_tool/draw/__init__.py:  http://www.mathematica-journal.com/issue/v10i1/graph_draw.html 
./cgenv/lib/python2.6/site-packages/graph_tool/draw/__init__.py:   #graph_draw(u, pos) 

Но когда я пытаюсь получить доступ к этому, не существует ...

>>> x=graph_tool.draw.GraphView 
>>> x=graph_tool.draw.graph_draw() 
Traceback (most recent call last): 
    File "/Applications/PyCharm.app/Contents/helpers/pydev/pydevd_exec.py", line 3, in Exec 
    exec exp in global_vars, local_vars 
    File "<input>", line 1, in <module> 
AttributeError: 'module' object has no attribute 'graph_draw' 

ли я что-то отсутствует? как я должен получить доступ к этому?

Спасибо!

ответ

1

Убедитесь, что у вас установлены все дополнительные зависимости: pycairo, matplotlib и gtk3 (а также librsvg, если вы используете macports).

+0

+1, недавно связанная почта http://stackoverflow.com/questions/32789062/activating-cairo-dependent-features-of-graph-tool – Phonon

2

Это, как представляется, импорт проблема ... функция «graph_draw» импортируется из «graph_tool.all», а не из «graph_tool»

Я на самом деле работает на OSX 10.10.4, и когда я импортировать модуль «graph_tool»:

from graph_tool.all import * 

#create your graph object 
g = Graph() 

#add vertex 
vertex_1 = g.add_vertex() #here you create a vertex 
vertex_2 = g.add_vertex() #here you create a vertex 

#add edge 
g.add_edge(vertex_1,vertex_2) #add an edge 

#draw you graph 
graph_draw(
    g, 
    output="test.png" 
) 

Это работает!

Если я следовать «импорта пример» вы предоставляете вы также можете попробовать:

from graph_tool.all import graph_draw,Graph 

#create your graph object 
g = Graph() 

#add a vertex at least 
g.add_vertex() 

#draw you graph 
graph_draw(
    g, 
    output_size=(200,200), 
    output="test.png" 
) 

Пожалуйста, попробуйте выполнить одно из этого предыдущего кода на вашем компьютере, чтобы перепроверить, если это проблема импорта модуля или через зависимости/установка выпуск

С наилучшими пожеланиями