当前位置: 首页 > 后端技术 > Python

如果你用Python在五分钟内画出漂亮的系统架构图

时间:2023-03-25 23:13:20 Python

Diagrams是一个基于Python绘制云系统架构的模块。它可以通过非常简单的描述将架构可视化,并支持以下6种云产品的图标:AWS、Azure、GCP、K8s、阿里云和OracleCloud基于Diagrams提供的节点。你只需要指定一个云产品(其实你选择哪个并不重要,我们只需要那个产品对应的图标,你可以选择一个你觉得好看的产品。),使用内置的-在云产品图标中,可以根据某个云产品图标简单画出架构图,比如下面的代码,画出了一个简单的基于数据库集群的网络服务架构:非常非常适合做架构的绘制强烈推荐毕业论文的图表。1.在开始之前,您需要确保您的计算机上已经成功安装了Python和pip。如果没有,请安装它们。如果使用Python进行数据分析,可以直接安装Anaconda。Windows环境打开Cmd(开始-运行-CMD),苹果系统环境打开Terminal(command+空格进入Terminal),准备开始输入命令安装依赖。当然,我更推荐你使用VSCode编辑器,将本文代码复制,在编辑器下方的终端中运行命令安装依赖模块。多么舒服的事情。在终端输入如下命令安装我们需要的依赖模块:pipinstalldiagrams如果看到Successfullyinstalledxxx,则安装成功。Diagrams使用graphviz作为渲染工具,所以为了顺利使用Diagrams,还需要下载graphviz:https://www.graphviz.org/down...macOS用户可以直接安装brew:brewinstallgraphviz2。基本用法和示例2.1初始化使用带导出的Diagram类初始化绘图上下文,该类接收的第一个参数将是图表的文件名,一旦代码运行完成,它将使用该文件名保存(空格将被替换)byunderscores):另外还可以选择导出的文件格式,在Diagram类中添加outformat参数,或者不使用第一个参数作为文件名,直接添加filename参数指定名称即可:withDiagram("SimpleDiagram",outformat="jpg",filename="my_diagram")2.2节点类型由于节点类型较多,无法一一展示。所有类型的节点都可以在官方文档中找到,比如:阿里云:https://diagrams.mingrammer.c...K8S:https://diagrams.mingrammer.c...AWS:https://diagrams.也可以通过变量赋值的形式简化代码:可以看到这里箭头的方向变了,这是因为Diagram增加了方向参数,TB表示数据从上往下流动,也就是从toptobottom,其他可选参数有:LR(lefttoright),BT(bottomtotop),RL(righttoleft)。上面的代码可以进一步简化成数组的形式:2.3Clusterblock使用Cluster类,使用with形式的context,可以很方便的生成一个clusterblock:而且可以相当复杂:这里的代码是很简单,但是比较Long,后续还有一个比较重要的例子,这里就不展示了。感兴趣的可以点击底部阅读原文查看。2.4自定义线条的颜色和属性使用Edge函数可以自定义线条的颜色、属性和备注,例如:Edge(color="firebrick",style="dashed",label="test")#使用耐火砖色,线型为虚线,注释为test。下面是一个比较复杂的例子,但是如果你仔细阅读,你会发现其实很简单:如果喜欢今天的Python教程,请继续关注我。有帮助的请点个赞/关注下方,有什么问题可以留言,我们会耐心解答!