全球实时:Python 五分钟绘制漂亮的系统架构图 - 科技金融 -

当前位置:首页  >  科技金融  > 正文

全球实时:Python 五分钟绘制漂亮的系统架构图

全球实时:Python 五分钟绘制漂亮的系统架构图
2023-01-04 13:36:57

Diagrams 是一个基于Python绘制云系统架构的模块,它能够通过非常简单的描述就能可视化架构,并支持以下6个云产品的图标:

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

基于Diagrams提供的节点,你只需要指定一个云产品(实际上选哪个都一样,我们只需要那个产品相应的图标,你可以选一个自己觉得好看的产品),使用其内部自带的云产品的图标,就能简单绘制基于某云产品图标的架构图。


(资料图片)

比如下面的代码,绘制了一个简单的基于数据库集群的网络服务架构:

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

1.准备

开始之前,你要确保Python和pip已经成功安装在电脑上,如果没有,可以访问这篇文章:超详细Python安装指南进行安装。

(可选1)如果你用Python的目的是数据分析,可以直接安装Anaconda:Python数据分析与挖掘好帮手—Anaconda,它内置了Python和pip.

(可选2)此外,推荐大家用VSCode编辑器,它有许多的优点:Python 编程的最好搭档—VSCode 详细指南。

请选择以下任一种方式输入命令安装依赖:1. Windows 环境 打开 Cmd (开始-运行-CMD)。2. MacOS 环境 打开 Terminal (command+空格输入Terminal)。3. 如果你用的是 VSCode编辑器 或 Pycharm,可以直接使用界面下方的Terminal.

pip install diagrams

看到 Successfully installed xxx 则说明安装成功。

Diagrams 使用了 graphviz 作为渲染工具,因此为了顺利使用 Diagrams ,还需要下载 graphviz:https://www.graphviz.org/download/

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.com/docs/nodes/alibabacloudK8S:https://diagrams.mingrammer.com/docs/nodes/k8sAWS:https://diagrams.mingrammer.com/docs/nodes/aws

接下来以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 教程,请持续关注Python实用宝典,如果对你有帮助,麻烦在下面点一个赞/在看,有任何问题都可以在下方留言,我们会耐心解答的!

点击下方阅读原文可以获取所有代码和链接哦!

Python实用宝典(pythondict.com)

不只是一个宝典

欢迎关注公众号:Python实用宝典

标签: 数据分析 还有一个 非常非常

(责任编辑:news01)
【环球热闻】申通快递董秘回复:公司一贯注重加强与广大电商平台的合作,不断提升公司在传统电商市场的份额

【环球热闻】申通快递董秘回复:公司一贯注重加强与广大电商平台的合作,不断提升公司在传统电商市场的份额

申通快递(002468)12月13日在投资者关系平台上答复了投资者关心的问题。
12-13 10:41:34
陕西黑猫: 陕西黑猫:第五届监事会第九次会议决议公告

陕西黑猫: 陕西黑猫:第五届监事会第九次会议决议公告

证券代码:601015      证券简称:陕西黑猫     公告编号:2022-074           ...
12-12 21:45:45
世界新消息丨“智赋”乡村数字平台助基层治理便捷高效

世界新消息丨“智赋”乡村数字平台助基层治理便捷高效

近日,四川省巴中市南江县光雾山镇桃源村的村委会干部来到独居的刘老太家。“我们早上通过数字平台看到...
12-12 15:17:38
益生股份(002458.SZ):实控人曹积生解除质押773.4万股

益生股份(002458.SZ):实控人曹积生解除质押773.4万股

格隆汇12月11日丨益生股份公布,公司近日接到控股股东、实际控制人曹积生先生通知,获悉其所持有公司的...
12-11 17:35:17
异动快报:民生控股(000416)12月9日9点51分触及涨停板 环球快报

异动快报:民生控股(000416)12月9日9点51分触及涨停板 环球快报

12月9日盘中消息,9点51分民生控股(000416)触及涨停板。目前价格4 61,上涨10 02%。其所属行业多元...
12-09 09:46:19
宁波银行(002142)12月7日主力资金净卖出1.62亿元

宁波银行(002142)12月7日主力资金净卖出1.62亿元

截至2022年12月7日收盘,宁波银行(002142)报收于31 5元,下跌3 08%,换手率0 61%,成交量39 88万手...
12-08 09:02:54
欧克科技(001223.SZ)披露网上发行结果:遭弃购22.7094万股、由主承销商包销

欧克科技(001223.SZ)披露网上发行结果:遭弃购22.7094万股、由主承销商包销

格隆汇12月6日丨欧克科技披露首次公开发行股票网上发行结果,保荐机构(主承销商)根据深圳证券交易所提供...
12-06 20:44:07
中国铁塔安徽淮北分公司 主动开展专项活动

中国铁塔安徽淮北分公司 主动开展专项活动

为加强公司资产管理,提高一体业务收入准确性,今年以来,中国铁塔安徽淮北分公司主动开展专项活动,对...
03-18 17:43:05
无锡电信“六个一”优化人工成本管理 助力新兴业务发展

无锡电信“六个一”优化人工成本管理 助力新兴业务发展

中国电信江苏无锡分公司持续优化人工成本管理,完善绩效薪酬激励机制,切实提高全口径人力资源使用效率...
03-18 17:43:04
售卖“应付检查”消防喷淋头 中国消防点名电商平台

售卖“应付检查”消防喷淋头 中国消防点名电商平台

  售卖“应付检查”消防喷淋头!中国消防点名电商平台:到底你在应付谁?  人民网北京10月11日电 (...
10-12 14:06:22
陕西一煤矿发生局部冒顶事故 致4人遇难4人重伤

陕西一煤矿发生局部冒顶事故 致4人遇难4人重伤

  中新网西安10月12日电 (记者 阿琳娜)记者12日从陕西咸阳市官方获悉,11日一煤矿发生局部冒顶事故...
10-12 14:06:22
“90后”女大学生返乡“带货”:我有振兴故乡的责任

“90后”女大学生返乡“带货”:我有振兴故乡的责任

  中新网吉林10月12日电 (记者 石洪宇)面对红叶浸染的山峦,27岁的刘佳宁很快找到创作灵感,成熟的...
10-12 14:06:22
浙江杭州钱镠墓被盗案开庭宣判 被告人处无期徒刑

浙江杭州钱镠墓被盗案开庭宣判 被告人处无期徒刑

  10月12日上午,浙江省杭州市中级人民法院一审公开开庭审理被告人蒋明磊、李常伟盗掘古墓葬一案并当...
10-12 14:06:22
作风之变助推发展之变

作风之变助推发展之变

  作风之变助推发展之变  ——四川剑阁深入推进“我为群众办实事”实践活动  光明日报记者 李晓...
10-12 14:06:22
齐晓景:就想为农村做点啥

齐晓景:就想为农村做点啥

  【奋斗青春 无悔抉择】  光明日报记者 陈晨 高平光明网记者 董大正  “这草莓西红柿,脆爽...
10-12 14:06:22
陕西彬长矿业公司胡家河矿发生一起局部冒顶事故致4人死亡

陕西彬长矿业公司胡家河矿发生一起局部冒顶事故致4人死亡

  新华社西安10月12日电(记者薛天、张思洁)记者从陕西煤业化工集团有限公司及咸阳市委宣传部获悉,10...
10-12 14:06:21
京秦高速遵秦段加紧施工建设

京秦高速遵秦段加紧施工建设

  目前,由中建路桥集团参与承建的京秦高速公路遵(遵化)秦(秦皇岛)段正在加紧施工,各项工程进展顺利...
10-12 14:06:21
护航法治中国行稳致远

护航法治中国行稳致远

  【坚持和完善人民代表大会制度】   检查21部法律和1个决定的实施情况,听取审议“一府一委两院”...
10-12 14:06:21
记录历史的耄耋老兵:让家乡的英雄故事永流传

记录历史的耄耋老兵:让家乡的英雄故事永流传

  中新网石家庄10月12日电 题:记录历史的耄耋老兵:让家乡的英雄故事永流传  作者 赵丹媚  见...
10-12 14:06:21
山西因灾停电用户95%以上已恢复供电

山西因灾停电用户95%以上已恢复供电

  新华社太原10月12日电(记者梁晓飞)记者12日从国网山西省电力公司了解到,受近日强降雨影响,山西运...
10-12 14:06:20
浙江仙都黄帝祭典弦歌不绝 慎终追远赓续中华根脉

浙江仙都黄帝祭典弦歌不绝 慎终追远赓续中华根脉

  中新网丽水10月12日电(记者 范宇斌)四海同心祭始祖,共同富裕启华章。辛丑(2021)年中国仙都祭祀轩...
10-12 14:06:20
教育部:校外培训机构登记为非营利前暂停招生收费

教育部:校外培训机构登记为非营利前暂停招生收费

  记者12日从教育部了解到,教育部校外教育培训监管司近日就校外培训机构“营改非”工作作出部署,要...
10-12 14:06:20
山西介休部分村庄启动灾后消杀防疫

山西介休部分村庄启动灾后消杀防疫

  中新网晋中10月12日电 (记者 陆祁国)随着抽排洪水作业进度加快,部分村庄积滞洪水水位明显下降。1...
10-12 14:06:20
中国新疆“河狸公主”:一百万中国青年救助保护河狸

中国新疆“河狸公主”:一百万中国青年救助保护河狸

  (生物多样性大会)中国新疆“河狸公主”:一百万中国青年救助保护河狸  中新社昆明10月12日电 题...
10-12 14:06:20
“母亲河畔的中国”网络主题活动在河南开封启动

“母亲河畔的中国”网络主题活动在河南开封启动

  中新网开封10月12日电 12日上午,“母亲河畔的中国”网络主题活动启动仪式在河南开封举行。  本...
10-12 14:06:20
陕煤彬长公司一煤矿发生局部冒顶事故 4人死亡

陕煤彬长公司一煤矿发生局部冒顶事故 4人死亡

  记者从陕西省咸阳市委宣传部获悉,10月11日13时50分许,陕煤彬长公司胡家河煤矿402104工作面发生局...
10-12 14:06:19
广东海警局联合广东省公安厅开展“清湾行动” 查获非法船舶860艘

广东海警局联合广东省公安厅开展“清湾行动” 查获非法船舶860艘

  中新网北京10月12日电 为坚决遏制珠江口水域走私活动多发态势,坚决打击违法犯罪分子嚣张气焰,全...
10-12 14:06:19
浙江长兴公安摧毁一盗掘古墓犯罪团伙 追回文物40余件

浙江长兴公安摧毁一盗掘古墓犯罪团伙 追回文物40余件

  中新网湖州10月12日电(施紫楠 吴俊杰)在小说和影视剧中,盗墓者常被称为“摸金校尉”,十分神秘。...
10-12 14:06:19
山西 陕西两地加紧防汛救灾

山西 陕西两地加紧防汛救灾

  央视网消息(新闻联播):山西、陕西两地加紧防汛救灾。今天(10月11日),财政部、应急管理部向两省紧...
10-12 14:06:19
强降雨致山西公路灾损6021.36公里

强降雨致山西公路灾损6021.36公里

  记者今天(10月12日)从山西省人民政府召开的新闻发布会上了解到,受连续强降雨影响,山西公路交通基...
10-12 14:06:19

为您推荐

精彩推送