解决Graphviz保存决策树出现中文乱码问题,保存为PDF、png格式

问题:

Graphviz输出的决策树可视化图像在jupyter显示没有问题,但是保存为其他类型(PDF)文件时出现中文乱码解决Graphviz保存决策树出现中文乱码问题,保存为PDF、png格式_第1张图片
原始代码

dot_data = tree.export_graphviz(clf
                                ,feature_names= ['酒精','苹果酸','灰','灰的碱性','镁','总酚','类黄酮','非黄烷类酚类','花青素','颜色强度','色调','od280/od315稀释葡萄酒','脯氨酸']
                                ,class_names=["琴酒","雪莉","贝尔摩德"]
                                ,filled=True
                                ,rounded=True
                               )
graph = graphviz.Source(dot_data)
graph.view()

解决办法:

一、将图形保存为png格式

第一步:在当前文件目录中找到上面代码输出的Source.gv文件
解决Graphviz保存决策树出现中文乱码问题,保存为PDF、png格式_第2张图片
第二步:打开Source.gv文件,或者从文件夹找到并用记事本打开
解决Graphviz保存决策树出现中文乱码问题,保存为PDF、png格式_第3张图片
第三步:修改文件字体名字:# fontname=“Microsoft YaHei”
解决Graphviz保存决策树出现中文乱码问题,保存为PDF、png格式_第4张图片
第四步:在Anaconda Promot中运行 dot -Tpng tree.dot -o test.png将结果保存为图片(前提是你已经安装好了配置好了graphviz环境,安装及配置环境请看这里)
在这里插入图片描述
第五步:运行没问题,就会在当前文件夹生成一个test.png的图片
解决Graphviz保存决策树出现中文乱码问题,保存为PDF、png格式_第5张图片
打开之后就可以看到中文正常显示了
解决Graphviz保存决策树出现中文乱码问题,保存为PDF、png格式_第6张图片

二、转换成PDF格式

直接更改上面的命令改为 dot -Tpng tree.dot -o test.pdf是不行的,这里有另一种解决办法。
第一步:在输出决策树的notebook页面按F12键,弹出调试窗口
解决Graphviz保存决策树出现中文乱码问题,保存为PDF、png格式_第7张图片
第二步:点击选择按钮,然后鼠标点击画出来的决策树
解决Graphviz保存决策树出现中文乱码问题,保存为PDF、png格式_第8张图片
第三步:找到决策树图中对应的在调试窗口中被标记出来的代码,然后往上找到带有“output…”开头的代码,将这行代码复制(用ctrl+c快捷键)
解决Graphviz保存决策树出现中文乱码问题,保存为PDF、png格式_第9张图片
第四步:在桌面新建一个txt文件,将刚才拷贝的代码放进去,保存
第五步:将文件重新命名为test.html
第六步:用浏览器打开这个html文件,成功,没有中文乱码
解决Graphviz保存决策树出现中文乱码问题,保存为PDF、png格式_第10张图片
第七步:在此页面空白处右击鼠标–打印—打印成pdf
解决Graphviz保存决策树出现中文乱码问题,保存为PDF、png格式_第11张图片

你可能感兴趣的:(Python,机器学习)