web-dev-qa-db-ja.com

Jupyter NotebookでGraphviz.Sourceがレンダリングされない

Scikit-learnの便利なexport_graphviz関数を使用して.dotファイルをエクスポートした後。

私は、Jupyter NotebookのセルにGraphvizを使用してドットファイルをレンダリングしようとしています。

import graphviz
from IPython.display import display

with open("tree_1.dot") as f:
    dot_graph = f.read()
display(graphviz.Source(dot_graph))

ただし、out []は空のセルです。

私はgraphviz 0.5(pipの後にcondaをインストール)、iPython 5.1、およびPython 3.5を使用しています。ドットファイルは最初の文字が正しいように見えます。

digraph Tree {\nnode [shape=box, style="filled", color=

iPythonの表示は、MatplotlibプロットやPandasデータフレームなど、他のオブジェクトでも機能するようです。

Graphvizの例 site の例も機能しないことに注意してください。

9
leon yin

これを投稿してから変更が加えられた可能性があるため、可能であればライブラリを更新してください。

ここで使用した関連性のバージョンは次のとおりです。

Python 2.7.10

IPython 5.1.0

graphviz 0.7.1

整形式の.dotファイルがある場合、次のようにしてそれをjupyter out [。]セルに表示できます。

import graphviz

with open("tree_1.dot") as f:
    dot_graph = f.read()

# remove the display(...)

graphviz.Source(dot_graph)
5
graphviz.Source(dot_graph).view()
2
kapfy78

Pydotplusを使用してみてください。

import pydotplus

(1.1)外部からの.dotのインポート

pydot_graph = pydotplus.graph_from_dot_file("clf.dot")

または(1.2).export_graphviz出力を直接使用する

dt = tree.DecisionTreeClassifier()
dt = clf.fit(x,y)
dt_graphviz = tree.export_graphviz(dt, out_file = None)

pydot_graph = pydotplus.graph_from_dot_data(dt_graphviz)

(2.)そして、以下を使用してpyplotグラフを表示します

from IPython.display import Image

Image(pydot_graph.create_png())
1
martin.zaenker

graphvizを再インストールしてみてください

conda remove graphviz
conda install python-graphviz
graphviz.Source(dot_graph).view()
0
Andy Quiroz