Crie um organograma da empresa em Python

Um organograma representa visualmente a hierarquia e a estrutura de uma empresa, governo ou organização, servindo a propósitos como formulação de políticas e planejamento. Ao aproveitar diferentes formas e conectores, você pode criar vários tipos de gráficos. Este artigo fornece um guia passo a passo sobre como criar um organograma empresarial em Python, permitindo ilustrar e comunicar com eficácia a estrutura da sua organização.

Este artigo cobre os seguintes tópicos:

  1. API do criador de organogramas Python
  2. Criar organograma da empresa no estilo CompactTree
  3. Criar organograma da empresa em estilo fluxograma
  4. Recursos Gratuitos

API Python Organizational Chart Maker – Download grátis

Para criar organogramas da empresa, usaremos Aspose.Diagram for Python. É uma API poderosa que permite aos desenvolvedores criar, manipular e converter diagramas do Visio de forma programática. Com Aspose.Diagram for Python, você pode automatizar a criação e atualização de organogramas, tornando-o uma ferramenta essencial para aplicativos de RH, gerenciamento e análise de negócios.

Por favor baixe o pacote ou instale a API de PyPI usando o seguinte comando pip no console:

pip install aspose-diagram-python 

Crie um organograma da empresa no estilo CompactTree

Podemos criar facilmente um organograma da empresa no estilo CompactTree seguindo as etapas abaixo:

  1. Carregue mestres de qualquer diagrama, estêncil ou modelo existente.
  2. Defina valores para construir a hierarquia.
  3. Crie uma instância da classe Diagram.
  4. Adicione formas e conexões entre nós.
  5. Especifique LayoutOptions e defina LayoutStyle.COMPACTTREE.
  6. Salve o diagrama de saída usando o método save().

O exemplo de código a seguir mostra como criar um organograma da empresa no estilo CompactTree usando Python.

# Este exemplo de código mostra como criar um organograma da empresa no estilo CompactTree
import aspose.diagram
from aspose.diagram import *

# Carregue mestres de qualquer diagrama, estêncil ou modelo existente
visioStencil = "BasicShapes.vss"
rectangleMaster = "Rectangle"
connectorMaster = "Dynamic connector"
pageNumber = 0
width = 1.0
height = 1.0
pinX = 4.25
pinY = 9.5

# Defina valores para construir a hierarquia
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"]

# Defina um dicionário para mapear o nome da string para o ID de formato longo
shapeIdMap = {}

# Crie um novo diagrama
diagram = Diagram(visioStencil)
diagram.pages[pageNumber].page_sheet.page_props.page_width.value = 11.0

for orgnode in listPos:
    # Adicione uma nova forma de retângulo
    rectangleId = diagram.add_shape(pinX, pinY, width, height, rectangleMaster, pageNumber)
    pinX += 1
    pinY += 1
    # Defina as propriedades da nova forma
    shape = diagram.pages[pageNumber].shapes.get_shape(rectangleId)
    shape.text.value.add(Txt(orgnode))
    shape.name = orgnode
    shapeIdMap[orgnode] = rectangleId

# Crie conexões entre nós
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)

# Layout automático do gráfico 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)

# Salvar diagrama
diagram.save("CompactTreeChart_out.vsdx", SaveFileFormat.VSDX)
Crie um organograma da empresa no estilo CompactTree usando Python

Criar Organograma em Estilo Fluxograma

Da mesma forma, também podemos criar um organograma da empresa no estilo FlowChart seguindo as etapas mencionadas acima. No entanto, só precisamos especificar LayoutStyle.FLOWCHART na etapa 5.

O exemplo de código a seguir mostra como criar um organograma da empresa em estilo FlowChart usando Python.

# Este exemplo de código mostra como criar um organograma da empresa no estilo FlowChart
import aspose.diagram
from aspose.diagram import *

# Carregue mestres de qualquer diagrama, estêncil ou modelo existente
visioStencil = "BasicShapes.vss"
rectangleMaster = "Rectangle"
connectorMaster = "Dynamic connector"
pageNumber = 0
width = 1.0
height = 1.0
pinX = 4.25
pinY = 9.5

# Defina valores para construir a hierarquia
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"]

# Defina um dicionário para mapear o nome da string para o ID de formato longo
shapeIdMap = {}

# Crie um novo diagrama
diagram = Diagram(visioStencil)

for orgnode in listPos:
    # Adicione uma nova forma de retângulo
    rectangleId = diagram.add_shape(pinX, pinY, width, height, rectangleMaster, pageNumber)
    pinX += 1
    pinY += 1
    # Defina as propriedades da nova forma
    shape = diagram.pages[pageNumber].shapes.get_shape(rectangleId)
    shape.text.value.add(Txt(orgnode))
    shape.name = orgnode
    shapeIdMap[orgnode] = rectangleId

# Crie conexões entre nós
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)

# Fluxograma de layout automático
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)

# Salvar diagrama
diagram.save("FlowChart_out.vsdx", SaveFileFormat.VSDX)
Crie um organograma da empresa em um estilo de fluxograma usando Python

Obtenha licença temporária gratuita

Obtenha uma licença gratuita para criar organogramas de empresas no Visio sem limitações. Visite nossa página ‘Licença temporária’ para obter etapas simples para obter sua licença gratuita e começar a usar a API do criador de organograma Python imediatamente!

Criador de Organogramas Python – Recursos Gratuitos

Além de criar organogramas da empresa, você pode aprender mais sobre como criar ou editar organogramas de forma programática e explorar vários outros recursos da biblioteca usando os recursos abaixo:

Conclusão

Nesta postagem do blog, vimos como criar um organograma de empresa em Python usando Aspose.Diagram for Python. Com apenas algumas linhas de código, você pode criar um gráfico com aparência profissional que mostra a estrutura da sua empresa. Aspose.Diagram for Python é uma ferramenta poderosa que pode ajudá-lo a automatizar o processo de criação e modificação de diagramas, tornando-o uma biblioteca essencial para qualquer desenvolvedor Python que trabalhe com arquivos Visio. Em caso de qualquer ambigüidade, entre em contato conosco em nosso fórum de suporte gratuito.

Veja também