关于python:如果用Python-五分钟绘制漂亮的系统架构图

22次阅读

共计 1607 个字符,预计需要花费 5 分钟才能阅读完成。


Diagrams  是一个基于 Python 绘制云零碎架构的模块,它可能通过非常简单的形容就能可视化架构,并反对以下 6 个云产品的图标:

AWS、Azure、GCP、K8s、阿里云 和 Oracle 云

基于 Diagrams 提供的节点,你只须要指定一个云产品(实际上选哪个都一样,咱们只须要那个产品相应的图标,你能够选一个本人感觉难看的产品),应用其外部自带的云产品的图标,就能简略绘制基于某云产品图标的架构图,比方上面的代码,绘制了一个简略的基于数据库集群的网络服务架构:

十分非常适合用来做毕业论文的架构图绘制,强烈推荐。

1. 筹备

开始之前,你要确保 Python 和 pip 曾经胜利装置在电脑上噢,如果没有,进行装置。如果你用 Python 的目标是数据分析,能够间接装置 Anaconda。

Windows 环境下关上 Cmd(开始—运行—CMD),苹果零碎环境下请关上 Terminal(command+ 空格输出 Terminal),筹备开始输出命令装置依赖。

当然,我更举荐大家用 VSCode 编辑器,把本文代码 Copy 下来,在编辑器下方的终端运行命令装置依赖模块,多难受的一件事啊。

在终端输出以下命令装置咱们所须要的依赖模块:

pip install diagrams

看到 Successfully installed xxx 则阐明装置胜利。

Diagrams 应用了 graphviz 作为渲染工具,因而为了顺利应用 Diagrams,还须要下载 graphviz:
https://www.graphviz.org/down…

macOS 用户能够间接 brew 装置:

brew install graphviz

2. 根本应用与例子

2.1 初始化与导出

应用 Diagram 类初始化一个绘图上下文,这个类接管到的第一个参数将会成为架构图的文件名,而一当代码运行结束,它将会以该文件名保留(空格会被下划线所代替):

此外,它还能够抉择导出的文件格式,在 Diagram 类里减少 outformat 参数,也能够不以第一个参数为文件保留名称,减少 filename 参数指定名称即可:

with Diagram("Simple Diagram", outformat="jpg", filename="my_diagram")

2.2 节点类型

因为节点类型比拟多,咱们无奈一一展现进去,所有类型的节点里都能够在官网文档里找到,比方:

阿里云:https://diagrams.mingrammer.c…
K8S:https://diagrams.mingrammer.c…
AWS:https://diagrams.mingrammer.c…

接下来以 AWS 为例子,解说几个根本的数据流例子:

几个操作符:

示意从左到右的数据流 \
<< 示意从右到左的数据流 \

  • 示意没有箭头的数据流

还能够用变量赋值的模式简化代码:

能够看到这里箭头的方向变了,这是因为 Diagram 加了 direction 参数,TB 示意数据流向 top to bottm, 即从上到下,可选的其余参数还有:LR(左至右)、BT(底至上)、RL(右至左)。

下面的代码还能够用数组的模式进一步简化:

2.3 集群块

应用 Cluster 类 并用 with 以上下文的模式,你能够十分不便地生成一个集群块:

而且还能够做得相当简单:

这里代码很简略,然而比拟长,后续还有一个比拟重要的例子,这里就不展现了,有趣味的话能够点击最下方浏览原文进行查看。

2.4 自定义线的色彩与属性

应用 Edge 函数,你能够自定义线的色彩与属性以及备注,比方:

Edge(color="firebrick", style="dashed", label="test")
# 应用火砖色,线的类型为虚线,备注为 test

上面是一个比较复杂的例子,然而你如果认真浏览了,会发现它其实很简略:

如果你喜爱明天的 Python 教程,请继续关我,如果对你有帮忙,麻烦在上面点一个赞 / 关注 ,有任何问题都能够留言,咱们会急躁解答的!

正文完
 0