fork download
  1. # your code goes here
Success #stdin #stdout 0.01s 7016KB
stdin
from graphviz import Digraph

# 创建一个有向图对象
dot = Digraph(comment='物流仓库建设决策树', node_attr={'fontname': 'WenQuanYi Zen Hei'}, edge_attr={'fontname': 'WenQuanYi Zen Hei'})
dot.attr(rankdir='TB', dpi='300')

# 定义节点
dot.node('A', '决策:选择仓库建设方案')
dot.node('B', '方案1:新建大仓库')
dot.node('C', '方案2:新建小仓库')
dot.node('D', '方案3:先建小仓库')
dot.node('E', '需求紧俏 (P=0.7)')
dot.node('F', '需求低弥 (P=0.3)')
dot.node('G', '需求紧俏 (P=0.7)')
dot.node('H', '需求低弥 (P=0.3)')
dot.node('I', '需求紧俏 (P=0.7)')
dot.node('J', '需求低弥 (P=0.3)')
dot.node('K', '3年后决策:是否扩建')
dot.node('L', '扩建\n追加投资200万元')
dot.node('M', '不扩建')
dot.node('N', '总获利1000万元\n投资300万元')
dot.node('O', '总亏损200万元\n投资300万元')
dot.node('P', '总获利400万元\n投资140万元')
dot.node('Q', '总获利300万元\n投资140万元')
dot.node('R', '前3年总获利120万元\n投资140万元')
dot.node('S', '总获利300万元\n投资140万元')
dot.node('T', '后7年净获利465万元')
dot.node('U', '后7年总获利280万元')

# 连接节点
dot.edge('A', 'B')
dot.edge('A', 'C')
dot.edge('A', 'D')
dot.edge('B', 'E')
dot.edge('B', 'F')
dot.edge('C', 'G')
dot.edge('C', 'H')
dot.edge('D', 'I')
dot.edge('D', 'J')
dot.edge('I', 'K')
dot.edge('K', 'L')
dot.edge('K', 'M')
dot.edge('E', 'N')
dot.edge('F', 'O')
dot.edge('G', 'P')
dot.edge('H', 'Q')
dot.edge('J', 'S')
dot.edge('L', 'T')
dot.edge('M', 'U')

# 渲染图形
dot.render('logistics_decision_tree', view=True, format='png')
stdout
Standard output is empty