标签: pydot

pydot和graphviz错误:无法导入dot_parser,无法加载点文件

当我用pydot运行一个非常简单的代码时

import pydot
graph = pydot.Dot(graph_type='graph')

for i in range(3):

  edge = pydot.Edge("king", "lord%d" % i)
  graph.add_edge(edge)

vassal_num = 0
for i in range(3):
  for j in range(2):
    edge = pydot.Edge("lord%d" % i, "vassal%d" % vassal_num)
    graph.add_edge(edge)
    vassal_num += 1

graph.write_png('example1_graph.png')
Run Code Online (Sandbox Code Playgroud)

它打印出错误信息:

Couldn't import dot_parser, loading of dot files will not be possible.
Run Code Online (Sandbox Code Playgroud)

我正在使用python 2.7.3

python graphviz python-2.7 pydot

107
推荐指数
6
解决办法
9万
查看次数

为什么pydot无法在Windows 8中找到GraphViz的可执行文件?

我在Windows 8中安装了GraphViz 2.32,并将C:\ Program Files(x86)\ Graphviz2.32\bin添加到System PATH变量中.仍然pydot无法找到它的可执行文件.

Traceback (most recent call last):
  File "<pyshell#26>", line 1, in <module>
    graph.write_png('example1_graph.png')
  File "build\bdist.win32\egg\pydot.py", line 1809, in <lambda>
    lambda path, f=frmt, prog=self.prog : self.write(path, format=f, prog=prog))
  File "build\bdist.win32\egg\pydot.py", line 1911, in write
    dot_fd.write(self.create(prog, format))
  File "build\bdist.win32\egg\pydot.py", line 1953, in create
    'GraphViz\'s executables not found' )
InvocationException: GraphViz's executables not found
Run Code Online (Sandbox Code Playgroud)

我发现了这个https://code.google.com/p/pydot/issues/detail?id=65但是无法解决问题.

graphviz pygraphviz pydot scikit-learn

66
推荐指数
8
解决办法
13万
查看次数

graph.write_pdf("iris.pdf")AttributeError:'list'对象没有属性'write_pdf'

我的代码是遵循谷歌的机器学习类.两个代码是相同的.我不知道为什么它显示错误.可能是变量的类型是错误.但谷歌的代码对我来说是相同的.谁有过这个问题?

这是错误的

[0 1 2]
[0 1 2]
Traceback (most recent call last):
  File "/media/joyce/oreo/python/machine_learn/VisualizingADecisionTree.py", line 34, in <module>
    graph.write_pdf("iris.pdf")
AttributeError: 'list' object has no attribute 'write_pdf'
[Finished in 0.4s with exit code 1]
[shell_cmd: python -u "/media/joyce/oreo/python/machine_learn/VisualizingADecisionTree.py"]
[dir: /media/joyce/oreo/python/machine_learn]
[path: /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games]
Run Code Online (Sandbox Code Playgroud)

这是代码

import numpy as np
from sklearn.datasets import load_iris
from sklearn import tree

iris = load_iris()
test_idx = [0, 50, 100]

# training data
train_target = np.delete(iris.target, test_idx)
train_data = np.delete(iris.data, test_idx, axis=0)

# testing data
test_target = …
Run Code Online (Sandbox Code Playgroud)

python machine-learning graphviz pydot scikit-learn

45
推荐指数
3
解决办法
2万
查看次数

Web应用程序中的交互式Graphviz图

我正在尝试使用Python在我的Django Web应用程序中进行一些交互式图形可视化.我找到了Graphviz并且能够使用Pydot(Graphviz的点语言的Python接口)在我的应用程序上输出静态图形(作为.png图像).

但是,我希望使我的图形更具交互性,例如能够在将鼠标移到其上时突出显示节点,使节点可点击,将节点拖动到其他位置并放大图形.

有没有办法在Graphviz中做到这一点?或者一般来说,有没有办法为我的Django应用程序制作交互式图形而无需使用Flash?我不想使用闪存,因为我不熟悉它,因为我想要可视化一个相当大的数据集.

django web-applications graph graphviz pydot

24
推荐指数
4
解决办法
3万
查看次数

Keras:"RuntimeError:无法导入pydot." 安装graphviz和pydot后

我在Windows 10上使用Anaconda Python 2.7

我正计划进行Keras可视化(当Spyder打开时)我打开了Anaconda命令提示符并点击安装了graphviz和pydot.现在,当我尝试运行以下内容时:

from keras.models import Sequential
Run Code Online (Sandbox Code Playgroud)

或者任何形式的"来自keras".,我收到错误:

ImportError: cannot import name gof
Run Code Online (Sandbox Code Playgroud)

我已经卸载并重新安装了Keras,Graphviz和pydot.我正在使用theano的开发版本.我找不到修复方法.

PS

如果我卸载graphviz和pydot,keras会再次运行

编辑

卸载anaconda并重新安装它包括theano,keras,graphviz和pydot后,我现在收到以下错误:

from keras.utils.visualize_util import plot

Using Theano backend.
Using gpu device 0: GeForce GTX 970M (CNMeM is disabled, cuDNN not available)
Traceback (most recent call last):

  File "<ipython-input-1-65016ddab3cd>", line 1, in <module>
  from keras.utils.visualize_util import plot

  File "C:\Anaconda2\lib\site-packages\keras\utils\visualize_util.py", line  8, in <module>
  raise RuntimeError('Failed to import pydot. You must install pydot'

RuntimeError: Failed to import pydot. You must install …
Run Code Online (Sandbox Code Playgroud)

python graphviz pydot theano keras

22
推荐指数
2
解决办法
3万
查看次数

路径中找不到"dot.exe".Pydot on Python(Windows 7)

我在Windows 7上运行Python的pydot时遇到了麻烦.

我安装了pydot: conda install -c rmg pydot=1.2.2

我安装了graphviz ../Program Files (x86)/Graphviz2.38/

当我运行以下脚本时,我得到一个错误说

"dot.exe" not found in path
Run Code Online (Sandbox Code Playgroud)
import pydot
graph = pydot.Dot(graph_type='digraph')
node_a = pydot.Node("Node A", style="filled", fillcolor="red")
node_b = pydot.Node("Node B", style="filled", fillcolor="green")
node_c = pydot.Node("Node C", style="filled", fillcolor="#0000ff")
node_d = pydot.Node("Node D", style="filled", fillcolor="#976856")
graph.add_node(node_a)
graph.add_node(node_b)
graph.add_node(node_c)
graph.add_node(node_d)
graph.add_edge(pydot.Edge(node_a, node_b))
graph.add_edge(pydot.Edge(node_b, node_c))
graph.add_edge(pydot.Edge(node_c, node_d))
graph.add_edge(pydot.Edge(node_d, node_a, label="and back we go again", labelfontcolor="#009933", fontsize="10.0", color="blue"))
graph.write_png('example2_graph.png')

Exception: "dot.exe" not found in path.
Run Code Online (Sandbox Code Playgroud)

我尝试过这个解决方案:https://stackoverflow.com/a/12257807/6561247 ,添加my-paths.pth …

python path pydot

22
推荐指数
3
解决办法
4万
查看次数

使用pydot显示图表而不保存

我想用pydot显示一个简单的图形.

我的问题是,有没有办法显示图形而不将其写入文件,因为目前我使用写入功能首先绘制,然后必须使用图像模块来显示文件.

但有没有什么方法可以直接在屏幕上打印图形而不保存?


另外作为一个更新,我想在同一个问题中问我观察到,当我使用图像模块的show命令时图像得到很快保存时,需要花费大量时间才能看到图像....有时候我得到错误,图像无法打开,因为它被删除或保存在不可用的位置,这是不正确的,因为我将它保存在我的桌面.....有谁知道发生了什么,是否有更快的方式得到图像加载.....

非常感谢....

python pydot

18
推荐指数
3
解决办法
2万
查看次数

找不到Graphviz的可执行文件(Python 3.4)

我在Windows 7上运行Python3.4.我正在尝试使用graphviz的Python接口.这是我打算运行的脚本:

from graphviz import Digraph
import pydotplus

dot = Digraph(comment='The Round Table')

dot.node('A', 'King Arthur')
dot.node('B', 'Sir Bedevere the Wise')
dot.node('L', 'Sir Lancelot the Brave')
dot.edges(['AB', 'AL'])
dot.edge('B', 'L', constraint='false')

print(dot.source)
dot.render('test-output/round-table.gv', view=True)
Run Code Online (Sandbox Code Playgroud)

我在运行时收到以下错误:

RuntimeError: failed to execute ['dot', '-Tpdf', '-O', 'test-output/round-table.gv'], make sure the Graphviz executables are on your systems' path
Run Code Online (Sandbox Code Playgroud)

现在我确信我已正确安装了正确的依赖项.我首先尝试设置正确的环境变量.graphviz可执行文件位于C:\ Program Files(x86)\ Graphviz2.37\bin,所以我转到了Environment Variables部分.那里有两个部分:用户变量和系统变量.在系统变量下我单击路径然后单击Edit并添加; C:\ Program Files(x86)\ Graphviz2.37\bin到字符串的末尾并保存.这并没有清除错误.

然后,按照这里给出的答案我卸载了pydot(实际上我在这里使用pydotplus)并重新安装它,但仍然没有成功.

我一直在努力解决这个问题,而整个PATH变量只是令人困惑和令人沮丧.

python path graphviz pydot

17
推荐指数
12
解决办法
6万
查看次数

如何使用conda安装pydot?

尝试通过遵循一些sklearn文档生成一些PDF的决策树,但无法在我的机器上获得Pydot.有没有办法使用conda安装程序来安装pydot包?基于我看到的命令行错误,它可能是64位问题.我使用binstar搜索来查找包通道:

C:\binstar search -t conda 
Run Code Online (Sandbox Code Playgroud)

其中给出了使用详细查看包的建议

binstar show j14r/pydot
Run Code Online (Sandbox Code Playgroud)

然后告诉我

conda install --channel https://conda.binstar.org/j14r pydot
Run Code Online (Sandbox Code Playgroud)

但是当我运行conda install命令时,我收到以下错误(列出的所有pydot包都出现相同的错误):

Fetching package metadata: ...
Error: No Packages found in current win-64 channels matching: pydot
You can search for this package with 

binstar search t conda pydot
Run Code Online (Sandbox Code Playgroud)

这让我回到了这一切的开头.有任何想法吗?谢谢大家.

python pydot anaconda conda

16
推荐指数
2
解决办法
3万
查看次数

使用Scikit-Learn为Python中的随机森林绘制树

我想绘制一个随机森林的决策树.所以,我创建以下代码:

clf = RandomForestClassifier(n_estimators=100)
import pydotplus
import six
from sklearn import tree
dotfile = six.StringIO()
i_tree = 0
for tree_in_forest in clf.estimators_:
if (i_tree <1):        
    tree.export_graphviz(tree_in_forest, out_file=dotfile)
    pydotplus.graph_from_dot_data(dotfile.getvalue()).write_png('dtree'+ str(i_tree) +'.png')
    i_tree = i_tree + 1
Run Code Online (Sandbox Code Playgroud)

但它没有产生任何东西..你知道如何从随机森林中绘制决策树吗?

谢谢,

python tree pydot random-forest scikit-learn

16
推荐指数
3
解决办法
3万
查看次数