graphviz安装
不可以直接使用pip install graphviz
,使用的时候会报错
dot.render(‘business_management_tree.gv’, view=True) 这里出错了。: failed to execute WindowsPath(‘dot’), make sure the Graphviz executables are on your systems’ PATH。
- 如果已经安装了graphviz 包了,请先
pip unistall graphviz
卸载。 - 安装graphviz软件,在安装过程勾选添加到环境变量选项即可。
pip install graphviz
- 重启spyder/pycharm即可。
使用示例,以下我将用graphviz绘制树状图
from treelib import Tree
from graphviz import Digraph
from graphviz import Digraph
from treelib import Tree
data = [
["互联网贷款", "产业金融", "业务流程管理"],
["互联网贷款", "科技金融", "业务流程管理"],
["互联网贷款", "授信管理", "业务风险管理(系统化)"]
]
tree = Tree()
tree.create_node("CIB-业务管理", "CIB-业务管理")
for row in data:
level1, level2, level3 = row
if not tree.contains(level1):
tree.create_node(level1, level1, parent="CIB-业务管理")
if not tree.contains(level2):
tree.create_node(level2, level2, parent=level1)
if not tree.contains(level3):
tree.create_node(level3, level3, parent=level2)
# 创建 Graphviz 对象
dot = Digraph(comment='业务管理树状图', node_attr={'fontname': 'WenQuanYi Zen Hei'}, edge_attr={'fontname': 'WenQuanYi Zen Hei'})
dot.attr(rankdir='LR') # 水平方向
# 添加节点和边
for node in tree.all_nodes():
dot.node(node.identifier, node.tag)
if node.bpointer:
dot.edge(node.bpointer, node.identifier)
tree = Tree()
tree.create_node("CIB-业务管理", "CIB-业务管理")
# 构建树结构
for row in data:
level1, level2, level3 = row
if not tree.contains(level1):
tree.create_node(level1, level1, parent="CIB-业务管理")
if not tree.contains(level2):
tree.create_node(level2, level2, parent=level1)
if not tree.contains(level3):
tree.create_node(level3, level3, parent=level2)
# 创建 Graphviz 对象
dot = Digraph(comment='业务管理树状图', node_attr={'fontname': 'WenQuanYi Zen Hei'}, edge_attr={'fontname': 'WenQuanYi Zen Hei'})
dot.attr(rankdir='LR') # 水平方向
# 添加节点和边
for node in tree.all_nodes():
dot.node(node.identifier, node.tag)
if node.bpointer:
dot.edge(node.bpointer, node.identifier)
# 保存和渲染图形
dot.render('business_management_tree.gv', view=True)