如何下载使用Graphviz创建的图片

4

我使用决策树来解决一个问题。然后,我使用graphviz获得了决策树的图片版本。

import graphviz 
dot_data = tree.export_graphviz(clf, out_file=None) 
graph = graphviz.Source(dot_data) 
dot_data = tree.export_graphviz(clf, out_file=None, 
                            feature_names=f_name,   
                            class_names=['Topper', 'Not a topper'],  
                            filled=True, rounded=True,   
                            special_characters=True)  
graph = graphviz.Source(dot_data)
graph 

我希望能够下载这个生成的树,格式可以是.png、.jpg或者任何适合的格式。

这是否可行?

2个回答

4

通过有向图的源创建一个图片

digraph source - 
graph_data = "digraph G { ...... }"

fie_ext = 'png'
temp_img = 'temp_file'
my_graph = graphviz.Source(graph_data)
my_graph.render(temp_img,format=fie_ext, view=False)

render() 方法会在当前目录中自动生成一个扩展名为 temp_file.png 的图片。


这个方法可行,我还提供了目录,因为我是在colab笔记本上工作,这样图像就可以在该目录中轻松找到。 - RusJ

3

要将 dot 文件导出为图片,您需要使用 pydotplus 模块。

from sklearn.tree import export_graphviz
from sklearn.externals.six import StringIO  
import pydotplus

dot_data = StringIO()
export_graphviz(clf, out_file=dot_data,  
                filled=True, rounded=True,
                special_characters=True,feature_names = feature_cols,class_names=['0','1'])
graph = pydotplus.graph_from_dot_data(dot_data.getvalue())  
graph.write_png('my_decision_tree.png')

运行得非常好!谢谢! - Sneha Ravichandran

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接