Створіть організаційну схему компанії на Python

Організаційна схема візуально представляє ієрархію та структуру компанії, уряду чи організації, яка служить для таких цілей, як розробка політики та планування. Використовуючи різні форми та з’єднувачі, ви можете створювати різні типи діаграм. У цій статті наведено покрокові інструкції щодо створення організаційної діаграми компанії в Python, що дозволить вам ефективно проілюструвати та повідомити структуру вашої організації.

Ця стаття охоплює такі теми:

  1. API для створення організаційних діаграм Python
  2. Створити організаційну схему компанії в стилі CompactTree
  3. Створити організаційну діаграму компанії у стилі блок-схеми
  4. Безкоштовні ресурси

Python Organizational Chart Maker API – безкоштовне завантаження

Для створення організаційних діаграм компанії ми будемо використовувати Aspose.Diagram for Python. Це потужний API, який дозволяє розробникам програмно створювати діаграми Visio, керувати ними та конвертувати їх. За допомогою Aspose.Diagram for Python ви можете автоматизувати створення та оновлення організаційних діаграм, що робить його незамінним інструментом для програм управління персоналом, управління та бізнес-аналізу.

Завантажте пакет або встановіть API з PyPI за допомогою такої команди pip у консолі:

pip install aspose-diagram-python 

Створіть організаційну схему компанії в стилі CompactTree

Ми можемо легко створити організаційну схему компанії у стилі CompactTree, виконавши наведені нижче дії.

  1. Завантажуйте шаблони з будь-якої існуючої діаграми, трафарету чи шаблону.
  2. Визначте значення для побудови ієрархії.
  3. Створіть екземпляр класу Diagram.
  4. Додайте форми та з’єднання між вузлами.
  5. Укажіть LayoutOptions і встановіть LayoutStyle.COMPACTTREE.
  6. Збережіть вихідну діаграму за допомогою методу save().

У наведеному нижче прикладі коду показано, як створити організаційну схему компанії у стилі CompactTree за допомогою Python.

# У цьому прикладі коду показано, як створити організаційну схему компанії в стилі 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"]

# Визначте словник для зіставлення імені рядка з ідентифікатором довгої форми
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)
Створіть організаційну схему компанії в стилі CompactTree за допомогою Python

Створення організаційної діаграми у стилі блок-схеми

Подібним чином ми також можемо створити організаційну діаграму компанії у стилі блок-схеми, виконавши кроки, згадані вище. Однак нам просто потрібно вказати LayoutStyle.FLOWCHART на кроці 5.

У наведеному нижче прикладі коду показано, як створити організаційну діаграму компанії у стилі 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"]

# Визначте словник для зіставлення назви рядка з довгим ідентифікатором форми
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 без обмежень. Відвідайте нашу сторінку «Тимчасова ліцензія», щоб отримати прості кроки, щоб отримати безкоштовну ліцензію та негайно почати використовувати API для створення організаційних діаграм Python!

Конструктор організаційних діаграм Python – безкоштовні ресурси

Окрім створення організаційних діаграм компанії, ви можете дізнатися більше про програмне створення або редагування організаційних діаграм і дослідити інші функції бібліотеки за допомогою наведених нижче ресурсів.

Висновок

У цій публікації блогу ми побачили, як створити організаційну діаграму компанії на Python за допомогою Aspose.Diagram for Python. За допомогою лише кількох рядків коду ви можете створити професійно виглядаючу діаграму, яка показує структуру вашої компанії. Aspose.Diagram for Python — це потужний інструмент, який може допомогти вам автоматизувати процес створення та редагування діаграм, що робить його важливою бібліотекою для будь-якого розробника Python, який працює з файлами Visio. У разі будь-яких неясностей зв’яжіться з нами на нашому безкоштовному форумі підтримки.

Дивись також