graphviz Windows中文亂碼,修改底層

網上有一些方法和步驟,但寫的不夠細緻,用另外的方法,自己補充一次

第一步:

找到安裝目錄修改成: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"];

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章