前言
自己画图比较费时费力。最近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描述

生成的代码
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
结果
