前言
自己画图比较费时费力。最近ChatGPT大火,利用ChatGPT生成Python代码绘图
模块
Graphviz
Graphviz 是一个开源的图形可视化工具,它可以自动生成各种类型的图形,并支持多种输出格式(如 PNG、SVG、PDF 等)。
diagrams
diagrams 是一个 Python 库,用于创建各种系统架构图和流程图。
安装
## 安装graphviz
## mac
brew install graphviz
## 验证
dot -v
##安装模块
pip3 install diagrams graphviz
绘图
利用chatgpt生成架构图
描述想法
我想画一个网络流程图,流程如下客户端发送请求到A站,A站将请求发送到核心系统,核心系统将请求发送到B站,B站将请求发送到上游通道,上游通道将结果返回到B站,B站将结果返回给核心系统,核心系统将结果返回A站,A站将结果在客户端展示
ChatGPT描述
![1680612272133.png 1680612272133.png](https://pic.liesys.com/i/2023/04/04/642c1bb23bfd3.png)
生成的代码
from diagrams import Cluster, Diagram
from diagrams.aws.compute import EC2
from diagrams.aws.database import RDS
from diagrams.aws.network import ELB
from diagrams.onprem.client import Client
from diagrams.onprem.compute import Server
with Diagram("支付流程", show=False, outformat="png"):
client = Client("客户端")
lb_a = ELB("A站插件")
sg_a = Server("核心系统")
lb_b = ELB("B站转发模块")
upc = Server("上游")
client >> lb_a >> sg_a >> lb_b >> upc >> lb_b >> sg_a >> lb_a >> client
结果
![1680612319730.png 1680612319730.png](https://pic.liesys.com/i/2023/04/04/642c1be0907e1.png)