python graphviz中文乱码_win10的python的graphviz中文乱码问题解决

graphviz应该是基于cmd做的一款软件,所以Python与它兼容性可能会差一些,本文就详细描述具体如何使带中文的python的graphviz模块图可视化。

本文默认你已经知道如何使用python的graphviz了,不会的可以参考以下网址:

目前笔者主要用于决策树的可视化。

第一步:打开graphviz软件根目录,找到font或者font.conf,根据版本不同可能会有差异,我的在C:\Program Files (x86)\Graphviz2.38\fonts里面,修改font的cachedir到自己电脑的字体文件夹,我的是C:\Windows\Fonts

首先需要将graphviz.Source的源文件(在graphviz-0.14版本似乎已经没了,可以试试打开site-packages/sklearn/tree/_export.py依然存在rounded)打开(eclipse可通过ctrl+鼠标左键),找到if rounded,rounded参数主要目的是调整节点方框所带的是圆角还是直角,修改此处的fontname为中文字体名(eg.SimSun)

之后在调用export_graphviz时必须使rouded为True,eg.

dot_data = StringIO()#存储字符流

export_graphviz(myDTModel0, out_file=dot_data,\

feature_names=wordList,\#节点特征名list

max_depth=5,\#决策树展示深度

class_names=list(set(trainY0.tolist()+testY0.tolist())),\#类别名list

filled=True,\

rounded=True)####***重要***

graph=pydotplus.graph_from_dot_data(dot_data.getvalue())

graph.write_pdf("figures/model0.pdf")

结果如下:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值