一、graphviz安装
下载地址: https://graphviz.org/_pages/Download/Download_windows.html
这上边有两种文件,两种都可以使用, 只不过 .msi这个文件是软件,可直接双击安装,
tar.gz可直接解压,自己去环境变量中配置
测试命令: dot -version
这样算是成功了, 然后进入Anconda promat中pip install graphviz,之后在python的base环境中可以正常使用, 但是在虚拟环境中还是不能正常使用,出现如下问题:
os.environ["PATH"] += os.pathsep + 'D:/User/sdma/software/Anaconda/bin'
添加上上述这句就正常了, 后边的D盘路径是我的graphvizd的安装路径,你需要将其改成你自己的安装路径
二、中文乱码问题
如下发的代码中的斜体部分,在添加节点和边的时候需要设定字体,之后就可以正常显示
fontname="Microsoft YaHei"
import os
from graphviz import Digraph
mpl.rcParams['font.sans-serif'] = ['Arial Unicode MS']
os.environ["PATH"] += os.pathsep + 'D:/User/sdma/software/Anaconda/bin'
def draw_graph(wdls, heads, relation):
g = Digraph('测试图片')
g.node(name='Root')
for word in wdls:
g.node(name=word, fontname="Microsoft YaHei")
for i in range(len(wdls)):
if relation[i] not in ['HED']:
g.edge(wdls[i], heads[i], label=relation[i], fontname="Microsoft YaHei")
else:
if heads[i] == 'Root':
g.edge(wdls[i], 'Root', label=relation[i], fontname="Microsoft YaHei")
else:
g.edge(heads[i], 'Root', label=relation[i], fontname="Microsoft YaHei")
g.view()