用Python創建公司組織架構圖

組織結構圖 直觀地表示公司、政府或組織的層級結構和結構,服務於政策制定和規劃等目的。透過利用不同的形狀和連接器,您可以設計各種類型的圖表。本文提供了有關如何使用 Python 建立公司組織結構圖的逐步指南,使您能夠有效地說明和傳達組織的結構。

本文涵蓋以下主題:

  1. Python 組織架構圖製作 API
  2. 以 CompactTree 風格創建公司組織架構圖
  3. 以流程圖風格創建公司組織架構圖
  4. 免費資源

Python 組織圖表製作 API – 免費下載

為了建立公司組織結構圖,我們將使用 Aspose.Diagram for Python。它是一個功能強大的 API,使開發人員能夠以程式設計方式建立、操作和轉換 Visio 圖表。透過 Aspose.Diagram for Python,您可以自動建立和更新組織結構圖,使其成為 HR、管理和商業分析應用程式的重要工具。

下載軟體包或在控制台中使用以下 pip 命令從 PyPI 安裝 API:

pip install aspose-diagram-python 

以 CompactTree 風格創建公司組織架構圖

我們可以按照以下步驟輕鬆建立CompactTree風格的公司組織架構圖:

  1. 從任何現有圖表、範本或範本載入母版。
  2. 定義值以建構層次結構。
  3. 建立圖表類別的實例。
  4. 新增形狀和節點之間的連接。
  5. 指定 LayoutOptions 並設定 LayoutStyle.COMPACTTREE。
  6. 使用 save() 方法儲存輸出圖。

以下程式碼範例展示如何使用 Python 建立 CompactTree 風格的公司組織架構圖。

# 此程式碼範例展示如何以 CompactTree 樣式建立公司組織結構圖
import aspose.diagram
from aspose.diagram import *

# 從任何現有圖表、範本或範本載入母版
visioStencil = "BasicShapes.vss"
rectangleMaster = "Rectangle"
connectorMaster = "Dynamic connector"
pageNumber = 0
width = 1.0
height = 1.0
pinX = 4.25
pinY = 9.5

# 定義值以建構層次結構
listPos = ["0", "0:0", "0:1", "0:2", "0:3", "0:4", "0:5", "0:6", "0:0:0", "0:0:1", "0:3:0", "0:3:1", "0:3:2", "0:6:0", "0:6:1"]

# 定義一個字典將字串名稱映射到長形狀ID
shapeIdMap = {}

# 建立一個新圖表
diagram = Diagram(visioStencil)
diagram.pages[pageNumber].page_sheet.page_props.page_width.value = 11.0

for orgnode in listPos:
    # 新增新的矩形形狀
    rectangleId = diagram.add_shape(pinX, pinY, width, height, rectangleMaster, pageNumber)
    pinX += 1
    pinY += 1
    # 設定新形狀的屬性
    shape = diagram.pages[pageNumber].shapes.get_shape(rectangleId)
    shape.text.value.add(Txt(orgnode))
    shape.name = orgnode
    shapeIdMap[orgnode] = rectangleId

# 建立節點之間的連接
for orgName in listPos:
    lastColon = orgName.rfind(':')
    if lastColon > 0:
        parentName = orgName[:lastColon]
        shapeId = shapeIdMap[orgName]
        parentId = shapeIdMap[parentName]
        connector1 = Shape()
        connecter1Id = diagram.add_shape(connector1, connectorMaster, pageNumber)
        diagram.pages[pageNumber].connect_shapes_via_connector(parentId, manipulation.ConnectionPointPlace.RIGHT,
                                                               shapeId, manipulation.ConnectionPointPlace.LEFT, connecter1Id)

# 自動佈局 CompactTree 圖表
compactTreeOptions = autolayout.LayoutOptions()
compactTreeOptions.layout_style = autolayout.LayoutStyle.COMPACT_TREE
compactTreeOptions.direction = autolayout.LayoutDirection.DOWN_THEN_RIGHT
compactTreeOptions.enlarge_page = False

diagram.pages[pageNumber].layout(compactTreeOptions)

# 儲存圖表
diagram.save("CompactTreeChart_out.vsdx", SaveFileFormat.VSDX)
使用 Python 建立 CompactTree 風格的公司組織架構圖

以流程圖樣式建立組織結構圖

同樣,我們也可以依照上述步驟創建流程圖風格的公司組織架構圖。但是,我們只需要在步驟 5 中指定 LayoutStyle.FLOWCHART 即可。

以下程式碼範例展示如何使用Python以流程圖樣式建立公司組織結構圖。

# 此程式碼範例展示如何以流程圖樣式建立公司組織結構圖
import aspose.diagram
from aspose.diagram import *

# 從任何現有圖表、範本或範本載入母版
visioStencil = "BasicShapes.vss"
rectangleMaster = "Rectangle"
connectorMaster = "Dynamic connector"
pageNumber = 0
width = 1.0
height = 1.0
pinX = 4.25
pinY = 9.5

# 定義值以建構層次結構
listPos = ["0", "0:0", "0:1", "0:2", "0:3", "0:4", "0:5", "0:6", "0:0:0", "0:0:1", "0:3:0", "0:3:1", "0:3:2", "0:6:0", "0:6:1"]

# 定義一個字典將字串名稱映射到長形狀ID
shapeIdMap = {}

# 建立一個新圖表
diagram = Diagram(visioStencil)

for orgnode in listPos:
    # 新增新的矩形形狀
    rectangleId = diagram.add_shape(pinX, pinY, width, height, rectangleMaster, pageNumber)
    pinX += 1
    pinY += 1
    # 設定新形狀的屬性
    shape = diagram.pages[pageNumber].shapes.get_shape(rectangleId)
    shape.text.value.add(Txt(orgnode))
    shape.name = orgnode
    shapeIdMap[orgnode] = rectangleId

# 建立節點之間的連接
for orgName in listPos:
    lastColon = orgName.rfind(':')
    if lastColon > 0:
        parentName = orgName[:lastColon]
        shapeId = shapeIdMap[orgName]
        parentId = shapeIdMap[parentName]
        connector1 = Shape()
        connecter1Id = diagram.add_shape(connector1, connectorMaster, pageNumber)
        diagram.pages[pageNumber].connect_shapes_via_connector(parentId, manipulation.ConnectionPointPlace.RIGHT,
                                                               shapeId, manipulation.ConnectionPointPlace.LEFT, connecter1Id)

# 自動佈局流程圖
flowChartOptions = autolayout.LayoutOptions()
flowChartOptions.layout_style = autolayout.LayoutStyle.FLOW_CHART
flowChartOptions.direction = autolayout.LayoutDirection.TOP_TO_BOTTOM
flowChartOptions.enlarge_page = True

diagram.pages[pageNumber].layout(flowChartOptions)

# 儲存圖表
diagram.save("FlowChart_out.vsdx", SaveFileFormat.VSDX)
使用 Python 以流程圖樣式建立公司組織結構圖

獲得免費的臨時許可證

取得免費許可證 在 Visio 中無限制地建立公司組織結構圖。請造訪我們的「臨時許可證」頁面,了解簡單的步驟即可取得免費許可證並立即開始使用 Python 組織圖表製作器 API!

Python 組織架構圖製作工具 – 免費資源

除了創建公司組織結構圖之外,您還可以了解有關以編程方式創建或編輯組織結構圖的更多信息,並使用以下資源探索該庫的各種其他功能:

結論

在這篇文章中,我們了解如何使用 Aspose.Diagram for Python 在 Python 中建立公司組織架構圖。只需幾行程式碼,您就可以建立一個具有專業外觀的圖表來顯示您公司的結構。 Aspose.Diagram for Python 是一個強大的工具,可以幫助您自動化建立和修改圖表的流程,使其成為任何使用 Visio 檔案的 Python 開發人員的必備函式庫。如有任何疑問,請透過我們的免費支援論壇與我們聯繫。

也可以看看