graphviz安装使用及python调用案例,解决无path等相关问题

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。

  1. 如果已经安装了graphviz 包了,请先pip unistall graphviz 卸载。
  2. 安装graphviz软件,在安装过程勾选添加到环境变量选项即可。
  3. pip install graphviz
  4. 重启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)


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值