使用python画树状图
文章目录
前言
最近到一个需求,跟传销裂变差不多,有上级和下级的概念,根据下级的充值金额给上级返佣,这时候有个上下级的树状图肯定测试起来更加直观一点,也降低沟通成本。
一、前期准备
本地安装graphviz
graphviz是一个软件,可以根据特定语法文件生成图。
安装命令如下(我是mac环境):
brew install graphviz
安装python库
安装完本地已经可以根据文件生成PDF图了,但是我们还是要安装下python库,这样写代码组装数据比较方便
pip3 install graphviz
二、使用过程
1. hello world
先写个demo看一下效果
代码如下:
from graphviz import Digraph
# 画布
g = Digraph('G', filename='demo.gv')
# 定义两个节点
g.node('A', label='node1')
g.node('B', label='node2')
# 定义一条链接
g.edge('A', 'B')
# 渲染
g.view()
效果就是这样子:
2.给连接线加个文案
裂变总得标识下级充了多少钱是吧,所以我们需要在连接线上加个信息,标识他充了多少钱。
我们只需要在创建链接线时候加个参数就可以了
g.edge('A', 'B',label="¥100")
效果如下:
给节点搞点花样
有了充钱,那接下了就要区分下节点,毕竟上级节点逼格要高一点,对吧
# 星星
g.node('A', label='node1',shape='star')
# 双圆
g.node('A', la