Crear organigrama de la empresa en Python

Un organigrama representa visualmente la jerarquía y estructura de una empresa, gobierno u organización, y sirve para fines como la formulación de políticas y la planificación. Aprovechando diferentes formas y conectores, puedes diseñar varios tipos de gráficos. Este artículo proporciona una guía paso a paso sobre cómo crear un organigrama de la empresa en Python, lo que le permitirá ilustrar y comunicar eficazmente la estructura de su organización.

Este artículo cubre los siguientes temas:

  1. API de creación de organigramas de Python
  2. Crear organigrama de la empresa en estilo CompactTree
  3. Crear organigrama de la empresa en estilo diagrama de flujo
  4. Recursos gratuitos

API de creación de organigramas de Python: descarga gratuita

Para crear organigramas de empresas, utilizaremos Aspose.Diagram for Python. Es una API potente que permite a los desarrolladores crear, manipular y convertir diagramas de Visio mediante programación. Con Aspose.Diagram for Python, puede automatizar la creación y actualización de organigramas, lo que lo convierte en una herramienta esencial para aplicaciones de recursos humanos, gestión y análisis empresarial.

Por favor descargue el paquete o instale la API desde PyPI usando el siguiente comando pip en la consola:

pip install aspose-diagram-python 

Crear organigrama de la empresa en estilo CompactTree

Podemos crear fácilmente un organigrama de empresa al estilo CompactTree siguiendo los pasos a continuación:

  1. Cargue patrones desde cualquier diagrama, galería de símbolos o plantilla existente.
  2. Defina valores para construir la jerarquía.
  3. Cree una instancia de la clase Diagrama.
  4. Añade formas y conexiones entre nodos.
  5. Especifique LayoutOptions y establezca LayoutStyle.COMPACTTREE.
  6. Guarde el diagrama de salida usando el método save().

El siguiente ejemplo de código muestra cómo crear un organigrama de la empresa en un estilo CompactTree usando Python.

# Este ejemplo de código muestra cómo crear un organigrama de empresa en un estilo CompactTree.
import aspose.diagram
from aspose.diagram import *

# Cargue patrones desde cualquier diagrama, galería de símbolos o plantilla existente
visioStencil = "BasicShapes.vss"
rectangleMaster = "Rectangle"
connectorMaster = "Dynamic connector"
pageNumber = 0
width = 1.0
height = 1.0
pinX = 4.25
pinY = 9.5

# Definir valores para construir la jerarquía.
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 un diccionario para asignar el nombre de la cadena a la identificación de forma larga
shapeIdMap = {}

# Crear un nuevo diagrama
diagram = Diagram(visioStencil)
diagram.pages[pageNumber].page_sheet.page_props.page_width.value = 11.0

for orgnode in listPos:
    # Agregar una nueva forma de rectángulo
    rectangleId = diagram.add_shape(pinX, pinY, width, height, rectangleMaster, pageNumber)
    pinX += 1
    pinY += 1
    # Establecer las propiedades de la nueva forma.
    shape = diagram.pages[pageNumber].shapes.get_shape(rectangleId)
    shape.text.value.add(Txt(orgnode))
    shape.name = orgnode
    shapeIdMap[orgnode] = rectangleId

# Crear conexiones entre nodos
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)

# Diseño automático del 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)

# Guardar diagrama
diagram.save("CompactTreeChart_out.vsdx", SaveFileFormat.VSDX)
Cree un organigrama de la empresa en estilo CompactTree usando Python

Crear organigrama en estilo de diagrama de flujo

Del mismo modo, también podemos crear un organigrama de empresa al estilo FlowChart siguiendo los pasos mencionados anteriormente. Sin embargo, sólo necesitamos especificar LayoutStyle.FLOWCHART en el paso 5.

El siguiente ejemplo de código muestra cómo crear un organigrama de la empresa en un estilo FlowChart usando Python.

# Este ejemplo de código muestra cómo crear un organigrama de empresa en un estilo de diagrama de flujo.
import aspose.diagram
from aspose.diagram import *

# Cargue patrones desde cualquier diagrama, galería de símbolos o plantilla existente
visioStencil = "BasicShapes.vss"
rectangleMaster = "Rectangle"
connectorMaster = "Dynamic connector"
pageNumber = 0
width = 1.0
height = 1.0
pinX = 4.25
pinY = 9.5

# Definir valores para construir la jerarquía.
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 un diccionario para asignar el nombre de la cadena a la identificación de forma larga
shapeIdMap = {}

# Crear un nuevo diagrama
diagram = Diagram(visioStencil)

for orgnode in listPos:
    # Agregar una nueva forma de rectángulo
    rectangleId = diagram.add_shape(pinX, pinY, width, height, rectangleMaster, pageNumber)
    pinX += 1
    pinY += 1
    # Establecer las propiedades de la nueva forma.
    shape = diagram.pages[pageNumber].shapes.get_shape(rectangleId)
    shape.text.value.add(Txt(orgnode))
    shape.name = orgnode
    shapeIdMap[orgnode] = rectangleId

# Crear conexiones entre nodos
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)

# Diagrama de flujo de diseño 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)

# Guardar diagrama
diagram.save("FlowChart_out.vsdx", SaveFileFormat.VSDX)
Cree un organigrama de la empresa en un estilo de diagrama de flujo usando Python

Obtenga una licencia temporal gratuita

Obtén una licencia gratuita para crear organigramas de empresas en Visio sin limitaciones. Visite nuestra página ‘Licencia temporal’ para conocer pasos sencillos para obtener su licencia gratuita y comenzar a utilizar la API del creador de organigramas de Python de inmediato.

Creador de organigramas de Python: recursos gratuitos

Además de crear organigramas de empresas, puede obtener más información sobre cómo crear o editar organigramas mediante programación y explorar otras funciones de la biblioteca utilizando los recursos siguientes:

Conclusión

En esta publicación de blog, hemos visto cómo crear un organigrama de una empresa en Python usando Aspose.Diagram for Python. Con sólo unas pocas líneas de código, puede crear un gráfico de aspecto profesional que muestre la estructura de su empresa. Aspose.Diagram for Python es una herramienta poderosa que puede ayudarlo a automatizar el proceso de creación y modificación de diagramas, lo que la convierte en una biblioteca esencial para cualquier desarrollador de Python que trabaje con archivos Visio. En caso de cualquier ambigüedad, contáctenos en nuestro foro de soporte gratuito.

Ver también