網上有一些方法和步驟,但寫的不夠細緻,用另外的方法,自己補充一次
第一步:
找到安裝目錄修改成:C:\Program Files\Graphviz2.38\fonts
<!-- Font directory list -->
<dir>C:\WINDOWS\Fonts</dir>
<dir>~/.fonts</dir>
第二步:代碼生成dot文件的時候,指定文件的編碼格式爲utf-8
with open('treeone.dot', 'w',encoding="utf-8") as f:
dot_data = tree.export_graphviz(clf,feature_names=vec.get_feature_names())
f.write(dot_data)
這兩步是網上所說的,我照着做一遍,但我仍然沒有成功,不知道爲什麼。
打開dot文件,看了一下。
其實是生成的dot文件裏面,仍然缺少編碼格式
第三步:於是修改底層文件
1、定位dot_data = tree.export_graphviz(clf,feature_names=vec.get_feature_names())中的export_graphviz函數,並點進去。
2、搜索關鍵字node [shape=box,修改對照圖
來一張最後的pdf效果圖:
五:補充
1、export_graphviz中,參數rounded不能爲true,否則會用圓角,而使用Helvetica fonts,沒見過漢字有這種鬼字體。不帶參數,會使用默認的Times-Roman,這個字體,一般是有的,放心使用。
2、其實dot文件的,digraph屬性中,還 可以配置其它更多的參數,例如字體大小
node [shape=box, fontname="Microsoft YaHei" size="20,20"];