Организационная структура визуально представляет иерархию и структуру компании, правительства или организации, служащую таким целям, как выработка политики и планирование. Используя различные формы и соединители, вы можете создавать различные типы диаграмм. В этой статье представлено пошаговое руководство по созданию организационной структуры компании на Python, которое позволит вам эффективно проиллюстрировать и передать структуру вашей организации.
В этой статье рассматриваются следующие темы:
- API создания организационных диаграмм Python
- Создать организационную структуру компании в стиле CompactTree
- Создать организационную структуру компании в стиле блок-схемы
- Бесплатные ресурсы
API Python для создания организационных диаграмм – скачать бесплатно
Для создания организационных структур компании мы будем использовать Aspose.Diagram for Python. Это мощный API, который позволяет разработчикам программно создавать, манипулировать и преобразовывать диаграммы Visio. С помощью Aspose.Diagram for Python вы можете автоматизировать создание и обновление организационных диаграмм, что делает его важным инструментом для приложений HR, управления и бизнес-анализа.
Пожалуйста, загрузите пакет или установите API из PyPI, используя следующую команду pip в консоли:
pip install aspose-diagram-python
Создайте организационную структуру компании в стиле CompactTree
Мы можем легко создать организационную структуру компании в стиле CompactTree, выполнив следующие шаги:
- Загрузите мастера из любой существующей диаграммы, трафарета или шаблона.
- Определите значения для построения иерархии.
- Создайте экземпляр класса Diagram.
- Добавляйте формы и связи между узлами.
- Укажите LayoutOptions и задайте LayoutStyle.COMPACTTREE.
- Сохраните выходную диаграмму, используя метод 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)
Создайте организационную структуру в стиле блок-схемы
Точно так же мы можем создать организационную диаграмму компании в стиле FlowChart, выполнив шаги, упомянутые выше. Однако нам просто нужно указать LayoutStyle.FLOWCHART на шаге 5.
В следующем примере кода показано, как создать организационную структуру компании в стиле FlowChart с помощью Python.
# В этом примере кода показано, как создать организационную диаграмму компании в стиле FlowChart.
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)
Получите бесплатную временную лицензию
Получите бесплатную лицензию для создания организационных схем компании в Visio без ограничений. Посетите нашу страницу «Временная лицензия», чтобы узнать, как получить бесплатную лицензию и начать использовать API для создания организационных диаграмм Python прямо сейчас!
Создатель организационных диаграмм Python — бесплатные ресурсы
Помимо создания организационных диаграмм компании, вы можете узнать больше о программном создании или редактировании организационных диаграмм и изучить различные другие функции библиотеки, используя приведенные ниже ресурсы:
- Руководство разработчика
- Бесплатные онлайн-приложения
- Справочник по API
- Практические руководства и статьи
Заключение
В этом сообщении блога мы увидели, как создать организационную структуру компании на Python с помощью Aspose.Diagram for Python. Всего с помощью нескольких строк кода вы можете создать профессионально выглядящую диаграмму, показывающую структуру вашей компании. Aspose.Diagram for Python — это мощный инструмент, который поможет вам автоматизировать процесс создания и изменения диаграмм, что делает его незаменимой библиотекой для любого разработчика Python, работающего с файлами Visio. В случае возникновения каких-либо неясностей, пожалуйста, свяжитесь с нами на нашем форуме бесплатной поддержки.