国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

如何使用 Python 通過代碼創(chuàng)建圖表

這篇具有很好參考價(jià)值的文章主要介紹了如何使用 Python 通過代碼創(chuàng)建圖表。希望對大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

簡介

Diagram as Code 工具允許您創(chuàng)建基礎(chǔ)架構(gòu)的架構(gòu)圖。您可以重復(fù)使用代碼、測試、集成和自動(dòng)化繪制圖表的過程,這將使您能夠?qū)⑽臋n視為代碼,并構(gòu)建用于映射基礎(chǔ)架構(gòu)的流水線。您可以使用 diagrams 腳本與許多云提供商和自定義基礎(chǔ)架構(gòu)。

在本教程中,您將使用 Python 創(chuàng)建一個(gè)基本的圖表,并將其上傳到對象存儲(chǔ)桶。完成后,您將了解 diagrams 腳本的工作原理,從而能夠創(chuàng)建新的集成。

步驟 1 — 安裝 Graphviz

在這一步中,您將安裝 Graphviz 工具。Graphviz 是 diagrams 模塊的引擎,它生成圖表本身。

首先,更新服務(wù)器的軟件包:

sudo apt update

然后,使用以下命令安裝 Graphviz:

sudo apt install -y graphviz

-y 選項(xiàng)會(huì)自動(dòng)回答安裝過程中的任何額外提示。您也可以下載其他發(fā)行版的 Graphviz。

安裝完成后,您將擁有安裝的 Graphviz。

因?yàn)槟鷮⒃诒窘坛毯竺媸褂?Pip3 安裝 Python 依賴項(xiàng),您可以檢查您是否有正確的版本:

pip3 --version

您應(yīng)該會(huì)看到類似以下的內(nèi)容:

pip 20.0.2 from /usr/lib/python3/dist-packages/pip (python 3.8)

在這一步中,您更新了服務(wù)器,安裝了 Graphviz,并檢查了 Pip 的版本。接下來,您將構(gòu)建 diagrams 腳本。

步驟 2 — 構(gòu)建 Python 腳本

在這一步中,您將在 Python 中編寫一個(gè)示例圖表腳本。

首先,創(chuàng)建一個(gè)工作文件夾:

mkdir ~/my-diagram

創(chuàng)建項(xiàng)目文件夾后,使用以下命令進(jìn)入該文件夾:

cd ~/my-diagram

然后,創(chuàng)建一個(gè) requirements.txt 文件以跟蹤項(xiàng)目依賴項(xiàng):

echo -e "diagrams==0.21.1\ngraphviz==0.16" | tee requirements.txt

此命令有兩個(gè)關(guān)鍵字:echo 將打印字符串,-e 選項(xiàng)將使用 \n 插入來解析新行,以創(chuàng)建一個(gè)格式良好的 requirements 文件。

| 符號表示將 echo 語句的結(jié)果傳遞給管道。tee 命令接受管道輸入,并根據(jù)列出的參數(shù)創(chuàng)建一個(gè)新文件:在本例中,是 requirements.txt

Python 中的 requirements.txt 文件提供了運(yùn)行腳本所需的模塊列表。目前,該項(xiàng)目有兩個(gè)依賴項(xiàng)。
創(chuàng)建文件后,您將看到以下輸出:

diagrams=0.21.1
graphviz=0.16

此顯示指示了兩個(gè)工具的版本號。

現(xiàn)在,您將編寫 Python 腳本以創(chuàng)建圖表圖像。

確保您仍在創(chuàng)建的目錄中:

cd ~/my-diagram

接下來,使用 nano 或您喜歡的文本編輯器打開一個(gè)新文件:

nano my-diagram.py

添加以下代碼:

from diagrams import Diagram, Cluster, Edge

此行將導(dǎo)入創(chuàng)建通用圖表元素所需的圖表部件。

接下來,您必須導(dǎo)入繪制您將構(gòu)建的 DigitalOcean 基礎(chǔ)架構(gòu)所需的內(nèi)容。在本示例中,您將創(chuàng)建一個(gè)圖表,顯示兩個(gè) Droplets 連接到一個(gè)數(shù)據(jù)庫,并且所有主機(jī)都將日志發(fā)送到一個(gè) Logstash 實(shí)例。

添加以下行以導(dǎo)入 Droplet、DbaasPrimary 和 Logstash 圖標(biāo):

...
from diagrams.digitalocean.compute import Droplet
from diagrams.digitalocean.database import DbaasPrimary
from diagrams.elastic.elasticsearch import Logstash

這些行導(dǎo)入了本教程所需的圖標(biāo)。您可以在 Mingrammer 文檔中找到所有可用的 DigitalOcean 圖標(biāo)。

導(dǎo)入圖標(biāo)后,您可以開始構(gòu)建圖表。此代碼部分將創(chuàng)建一個(gè)名為 My Diagram: Droplets 的圖表:

...
with Diagram("My Diagram: Droplets", show=False, filename="my-diagram", direction="LR"):

show 參數(shù)可以在創(chuàng)建時(shí)打開它,但由于您正在使用 Linux 主機(jī),它已設(shè)置為 False。生成的文件將被命名為分配給 filename 的任何字符串。direction 是您希望圖表打印的方向。direction 的支持值為 TB(從上到下)和 LR(從左到右)。選擇 direction 可以使圖表更易于閱讀。對于此圖表,您將使用 LR

最后,將圖標(biāo)添加到圖表中:

...
with Diagram("My Diagram: Droplets", show=False, filename="my-diagram", direction="LR"):
    with Cluster("DigitalOcean"):
        droplet1 = Droplet("My first Droplet")
        droplet2 = Droplet("My second Droplet")

    db = DbaasPrimary("My database")

    logstash = Logstash("Logstash service")

Cluster 在圖表中為您的 Droplets 創(chuàng)建一個(gè)框,顯示它們在名為 DigitalOcean 的空間中。Droplet、DbaasPrimaryLogstash 將創(chuàng)建以字符串提供的圖標(biāo)名稱。

接下來,您將通過添加以下行來在圖表中的各個(gè)項(xiàng)目之間創(chuàng)建依賴關(guān)系:

...
    [droplet1, droplet2] >> db >> [droplet1, droplet2]
    [droplet1, droplet2, db] >> Edge(color="firebrick", style="dashed") >> logstash

您將您的 Droplets 連接到上面創(chuàng)建的 DbaasPrimary 數(shù)據(jù)庫,既讀又寫。然后,您添加了一個(gè)顏色為 firebrick 的虛線,以指示從 Droplets 和主數(shù)據(jù)庫到 Logstash 的連接。

您的最終 my-diagram.py 文件將如下所示:

from diagrams import Diagram, Cluster, Edge
from diagrams.digitalocean.compute import Droplet
from diagrams.digitalocean.database import DbaasPrimary
from diagrams.elastic.elasticsearch import Logstash

with Diagram("My Diagram: Droplets", show=False, filename="my-diagram", direction="LR"):
    with Cluster("DigitalOcean"):
        droplet1 = Droplet("My first droplet")
        droplet2 = Droplet("My second droplet")

    db = DbaasPrimary("My database")
    
    logstash = Logstash("Logstash service")
    
    [droplet1, droplet2] >> db >> [droplet1, droplet2]
    [droplet1, droplet2, db] >> Edge(color="firebrick", style="dashed") >> logstash

保存并關(guān)閉文件。

現(xiàn)在,您在同一個(gè)文件夾中有一個(gè)名為 my-diagram.py 和一個(gè)名為 requirements.txt 的文件。

有了這兩個(gè)文件,您可以安裝所需的模塊并創(chuàng)建圖表。

步驟 3 — 創(chuàng)建圖表

完成編寫 Python 腳本后,您可以運(yùn)行它以創(chuàng)建圖表。

首先使用 Pip 安裝所需的庫:

pip3 install -r requirements.txt

您將看到以下輸出:

Collecting diagrams==0.21.1
  Using cached diagrams-0.21.1-py3-none-any.whl (23.8 MB)
Collecting graphviz==0.16
  Using cached graphviz-0.16-py2.py3-none-any.whl (19 kB)
Requirement already satisfied: jinja2<4.0,>=2.10 in /usr/lib/python3/dist-packages (from diagrams==0.21.1->-r requirements.txt (line 1)) (2.10.1)
Installing collected packages: graphviz, diagrams
Successfully installed diagrams-0.21.1 graphviz-0.16

安裝完成所需的庫后,運(yùn)行 Python 腳本:

python3 my-diagram.py

此腳本將生成一個(gè)名為 my-diagram.png 的圖表,如下所示:

!The Droplets and Database diagram

有關(guān)不同類型圖標(biāo)和使用此模塊的其他方法的更多信息,請參閱 Mingrammer 文檔。

在這一步中,您已創(chuàng)建了圖表。接下來,您將把它添加到對象存儲(chǔ)中,以便可以訪問 .png 文件。

步驟 4 — 將圖表上傳到對象存儲(chǔ)

為了能夠從不同位置查看您的圖表,現(xiàn)在將圖表上傳到對象存儲(chǔ)。在本教程中,您將使用 DigitalOcean Spaces 存儲(chǔ)桶。

在先決條件中,您已設(shè)置了一個(gè) Spaces 存儲(chǔ)桶并創(chuàng)建了一組訪問密鑰。

接下來,安裝 s3cmd,這是一個(gè)用于通過 CLI 與 s3 風(fēng)格 API 進(jìn)行交互的工具:

sudo apt install -y s3cmd

安裝完成后,配置 s3cmd

s3cmd --configure

現(xiàn)在,您將使用 API 憑據(jù)和其他首選項(xiàng)設(shè)置配置。下面的每個(gè)提示將作為自己的行加載,因此請使用您的信息和選擇更新下面的突出顯示部分:

HTTP 代理服務(wù)器名稱:

新設(shè)置:
訪問密鑰:your-access-key
密鑰:your-secret-key
默認(rèn)區(qū)域:EU
S3 端點(diǎn):ams3.digitaloceanspaces.com
用于訪問存儲(chǔ)桶的 DNS 樣式主機(jī)名+端口模板:%(bucket)s.ams3.digitaloceanspaces.com
加密密碼:your-encryption-password
GPG 程序路徑:/usr/bin/gpg
使用 HTTPS 協(xié)議:True
HTTP 代理服務(wù)器名稱:
HTTP 代理服務(wù)器端口:0

S3 端點(diǎn) 需要與 Spaces 設(shè)置中提供的端點(diǎn)匹配,并且 DNS 樣式 需以類似格式的方式設(shè)置。上面的示例使用 ams3,因?yàn)榇?Spaces 存儲(chǔ)桶托管在阿姆斯特丹數(shù)據(jù)中心 3 上。請相應(yīng)更新您的設(shè)置。

設(shè)置完首選項(xiàng)后,選擇 Y 來測試憑據(jù):

使用提供的憑據(jù)測試訪問權(quán)限?[Y/n] Y

測試將運(yùn)行。如果失敗,您可以提供新的憑據(jù)進(jìn)行配置并重試。一旦成功,您將看到以下顯示:

請稍候,嘗試列出所有存儲(chǔ)桶...
成功。您的訪問密鑰和密鑰工作正常 :-)

現(xiàn)在驗(yàn)證加密是否有效...
成功。加密和解密工作正常 :-)

現(xiàn)在,您可以通過運(yùn)行 s3cmd 命令上傳文件:

s3cmd put my-diagram.png s3://your_space_name/my-diagram.png

上傳完成后,您將看到以下顯示:

upload: 'my-diagram.png' -> 's3://your-space-name/my-diagram.png'  [1 of 1]
 43672 of 43672   100% in    0s  1516.98 kB/s  done

如果您的存儲(chǔ)桶是公開訪問的,或者您已將圖表設(shè)置為公開,您可以訪問 https://your-space-name.ams3.digitaloceanspaces.com/my-diagram.png 查看您的圖表。請確保使用您的存儲(chǔ)桶名稱和其數(shù)據(jù)中心更新 URL。

如果您的存儲(chǔ)桶不是公開訪問的,您可以更改文件權(quán)限使其公開,或者您可以從存儲(chǔ)桶下載圖像到本地計(jì)算機(jī)。

如果您不需要保留在本教程中創(chuàng)建的服務(wù)器和對象存儲(chǔ),您可以按照文檔中有關(guān)刪除 Droplets 和銷毀 Spaces 的說明進(jìn)行操作。

結(jié)論

您已使用 Python 創(chuàng)建了一個(gè)圖表,您可以根據(jù)需要修改它以滿足您未來的圖表創(chuàng)建需求。您將不再需要手動(dòng)拖動(dòng)框來創(chuàng)建圖表。文章來源地址http://www.zghlxwxcb.cn/news/detail-830453.html

到了這里,關(guān)于如何使用 Python 通過代碼創(chuàng)建圖表的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 幾個(gè)實(shí)用數(shù)據(jù)可視化圖表Python代碼!

    幾個(gè)實(shí)用數(shù)據(jù)可視化圖表Python代碼!

    可視化是一種方便的觀察數(shù)據(jù)的方式,可以一目了然地了解數(shù)據(jù)塊。我們經(jīng)常使用柱狀圖、直方圖、餅圖、箱圖、熱圖、散點(diǎn)圖、線狀圖等。這些典型的圖對于數(shù)據(jù)可視化是必不可少的。除了這些被廣泛使用的圖表外,還有許多很好的卻很少被使用的可視化方法,這些圖有助

    2024年02月09日
    瀏覽(26)
  • chatgpt賦能python:如何使用Python創(chuàng)建0矩陣

    在Python中,矩陣是一種非常常見的數(shù)據(jù)結(jié)構(gòu),經(jīng)常在科學(xué)計(jì)算、人工智能、數(shù)據(jù)分析等領(lǐng)域中使用。創(chuàng)建0矩陣是矩陣操作中的一項(xiàng)基本任務(wù)。本文將介紹如何使用Python創(chuàng)建0矩陣。 0矩陣(Zero Matrix)是一個(gè)所有元素都為0的矩陣。它的行數(shù)和列數(shù)可以是任意值,也可以是一個(gè)行

    2024年02月06日
    瀏覽(18)
  • Python 線程池 (thread pool) 創(chuàng)建及使用 + 實(shí)例代碼

    首先線程和線程池不管在哪個(gè)語言里面,理論都是通用的。對于開發(fā)來說,解決高并發(fā)問題離不開對多個(gè)線程處理。我們先從線程到線程池,從每個(gè)線程的運(yùn)行到多個(gè)線程并行,再到線程池管理。由淺入深的理解如何在實(shí)際開發(fā)中,使用線程池來提高處理線程的效率。 線程(

    2024年02月05日
    瀏覽(31)
  • 如何使用pycharm創(chuàng)建一個(gè)python項(xiàng)目

    如何使用pycharm創(chuàng)建一個(gè)python項(xiàng)目

    1.打開pycharm,點(diǎn)擊new project 2.修改項(xiàng)目存放位置,點(diǎn)擊第二個(gè)圓圈,點(diǎn)擊add interpreter添加解釋器 3.選擇一個(gè)系統(tǒng)內(nèi)置的解釋器 4.點(diǎn)擊創(chuàng)建按鈕即可 5.打開該項(xiàng)目 6.在工程的地方點(diǎn)擊鼠標(biāo)右鍵–》選擇new–》選擇python file 7.給你的python文件取一個(gè)文件名,按回車鍵,創(chuàng)建成功

    2024年02月12日
    瀏覽(23)
  • Linux下使用anaconda創(chuàng)建python虛擬環(huán)境

    Linux下使用anaconda創(chuàng)建python虛擬環(huán)境

    1、創(chuàng)建之前確保已經(jīng)安裝了anaconda。 2、在linux系統(tǒng)終端(也可以在pycharm中的終端下)輸入conda指令,進(jìn)入conda環(huán)境。 ? ?3、使用指令conda create --name 環(huán)境名稱 python==3.6 創(chuàng)建自己想要?jiǎng)?chuàng)建的環(huán)境(環(huán)境名稱自己命名)。 ?4、顯示如下,輸入y繼續(xù)。 ?5、輸入conda env list 顯示虛擬

    2024年02月08日
    瀏覽(17)
  • 如何使用 Python 創(chuàng)建 Twitter 應(yīng)用程序

    簡介 通過訪問 Twitter API,您可以管理社交媒體賬戶,并且可以從社交媒體中獲取數(shù)據(jù)。如果您代表一個(gè)企業(yè)或組織,這對品牌推廣很有幫助;對于個(gè)人用戶和業(yè)余程序員來說,這也可以是一種有趣的娛樂方式。 在本文中,我們將概述創(chuàng)建 Twitter 應(yīng)用程序所需的步驟。 然后,

    2024年02月20日
    瀏覽(22)
  • python日常記賬本源代碼,基于PySide6,支持快速查詢、繪制圖表

    python日常記賬本源代碼,基于PySide6,支持快速查詢、繪制圖表

    python日常記賬本源代碼,基于PySide6(Qt for Python 6)的賬本,界面簡潔、功能強(qiáng)大,支持保存文件、快速查詢、繪制圖表等,是平時(shí)記賬的不錯(cuò)選擇。賬目查詢、賬本編輯、添加/刪除、撤銷/重做、統(tǒng)計(jì)數(shù)據(jù)、生成圖表。 運(yùn)行截圖: 完整程序下載地址:python日常記賬本源代碼

    2024年02月11日
    瀏覽(43)
  • Python小姿勢 - Python學(xué)習(xí)筆記:如何使用Python創(chuàng)建一個(gè)簡單的計(jì)算器

    Python小姿勢 - Python學(xué)習(xí)筆記:如何使用Python創(chuàng)建一個(gè)簡單的計(jì)算器

    Python學(xué)習(xí)筆記:如何使用Python創(chuàng)建一個(gè)簡單的計(jì)算器 在本教程中,我們將學(xué)習(xí)如何使用Python創(chuàng)建一個(gè)簡單的計(jì)算器。我們將學(xué)習(xí)如何使用Python的內(nèi)置函數(shù)input()和print(),以及如何使用Python的運(yùn)算符來完成這個(gè)項(xiàng)目。 首先,讓我們來看看如何使用input()函數(shù)來獲取用戶輸入。i

    2024年02月01日
    瀏覽(33)
  • 使用python制作常用圖表

    使用python制作常用圖表

    運(yùn)行結(jié)果打開柱形圖.xlsx即可查看 ?用特定含義的字符串來指定圖表類型,常用圖表類型對應(yīng)的字符串如下: 圖表類型 字符串 圖表類型 字符串 柱形圖 ‘column_clustered\\\' 餅圖 \\\'pie\\\' 條形圖 \\\'bar_clustered\\\' 圓環(huán)圖 ‘doughnut’ 折線圖 ‘line’ 散點(diǎn)圖 ‘xy_scatter\\\' 面積圖 ’area‘ 雷達(dá)圖

    2024年02月06日
    瀏覽(20)
  • 使用了Python語言和Flask框架。創(chuàng)建一個(gè)區(qū)塊鏈網(wǎng)絡(luò),允許用戶通過HTTP請求進(jìn)行交互,如包括創(chuàng)建區(qū)塊鏈、挖礦、驗(yàn)證區(qū)塊鏈等功能。

    目錄 大概來說: 二、代碼注釋 1.添加交易方法(add_transaction函數(shù)) 2.添加新的節(jié)點(diǎn)(add_node 函數(shù)) 3、替換鏈的方法(replace_chain函數(shù)) 總結(jié) 定義了一個(gè)名為Blockchain的類,用于構(gòu)建區(qū)塊鏈。 在Blockchain類中,定義了創(chuàng)建區(qū)塊、獲取上一個(gè)區(qū)塊、工作量證明、哈希計(jì)算、驗(yàn)證區(qū)

    2024年04月25日
    瀏覽(30)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包