• <big id="2pauu"><ruby id="2pauu"></ruby></big>
    <td id="2pauu"><ruby id="2pauu"></ruby></td>
    <p id="2pauu"><strong id="2pauu"><xmp id="2pauu"></xmp></strong></p>
    <td id="2pauu"></td>
    1. <tr id="2pauu"><strong id="2pauu"></strong></tr>
    2. 您的位置:首頁 >聚焦 >

      Python 五分鐘繪制漂亮的系統架構圖:全球熱頭條

      2023-01-03 22:48:27    來源:程序員客棧

      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實用寶典

      關鍵詞: 數據分析 還有一個 非常非常

      相關閱讀

      欧美性交网站
    3. <big id="2pauu"><ruby id="2pauu"></ruby></big>
      <td id="2pauu"><ruby id="2pauu"></ruby></td>
      <p id="2pauu"><strong id="2pauu"><xmp id="2pauu"></xmp></strong></p>
      <td id="2pauu"></td>
      1. <tr id="2pauu"><strong id="2pauu"></strong></tr>