Créer un organigramme d'entreprise en Python

Un organigramme représente visuellement la hiérarchie et la structure d’une entreprise, d’un gouvernement ou d’une organisation, servant à des fins telles que l’élaboration de politiques et la planification. En exploitant différentes formes et connecteurs, vous pouvez concevoir différents types de graphiques. Cet article fournit un guide étape par étape sur la façon de créer un organigramme d’entreprise en Python, vous permettant d’illustrer et de communiquer efficacement la structure de votre organisation.

Cet article couvre les sujets suivants :

  1. API Python Organigramme Maker
  2. Créer un organigramme d’entreprise dans le style CompactTree
  3. Créer un organigramme d’entreprise dans un style organigramme
  4. Ressources gratuites

API Python Organigramme Maker – Téléchargement gratuit

Pour créer des organigrammes d’entreprise, nous utiliserons Aspose.Diagram for Python. Il s’agit d’une API puissante qui permet aux développeurs de créer, manipuler et convertir des diagrammes Visio par programme. Avec Aspose.Diagram for Python, vous pouvez automatiser la création et la mise à jour d’organigrammes, ce qui en fait un outil essentiel pour les applications de ressources humaines, de gestion et d’analyse commerciale.

Veuillez télécharger le package ou installer l’API depuis PyPI à l’aide de la commande pip suivante dans la console :

pip install aspose-diagram-python 

Créer un organigramme d’entreprise dans le style CompactTree

Nous pouvons facilement créer un organigramme d’entreprise dans un style CompactTree en suivant les étapes ci-dessous :

  1. Chargez des maîtres à partir de n’importe quel diagramme, pochoir ou modèle existant.
  2. Définissez des valeurs pour construire la hiérarchie.
  3. Créez une instance de la classe Diagram.
  4. Ajoutez des formes et des connexions entre les nœuds.
  5. Spécifiez LayoutOptions et définissez LayoutStyle.COMPACTTREE.
  6. Enregistrez le diagramme de sortie à l’aide de la méthode save().

L’exemple de code suivant montre comment créer un organigramme d’entreprise dans un style CompactTree à l’aide de Python.

# Cet exemple de code montre comment créer un organigramme d'entreprise dans un style CompactTree.
import aspose.diagram
from aspose.diagram import *

# Chargez des modèles à partir de n'importe quel diagramme, pochoir ou modèle existant
visioStencil = "BasicShapes.vss"
rectangleMaster = "Rectangle"
connectorMaster = "Dynamic connector"
pageNumber = 0
width = 1.0
height = 1.0
pinX = 4.25
pinY = 9.5

# Définir des valeurs pour construire la hiérarchie
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"]

# Définir un dictionnaire pour mapper le nom de la chaîne à l'identifiant de forme long
shapeIdMap = {}

# Créer un nouveau diagramme
diagram = Diagram(visioStencil)
diagram.pages[pageNumber].page_sheet.page_props.page_width.value = 11.0

for orgnode in listPos:
    # Ajouter une nouvelle forme de rectangle
    rectangleId = diagram.add_shape(pinX, pinY, width, height, rectangleMaster, pageNumber)
    pinX += 1
    pinY += 1
    # Définir les propriétés de la nouvelle forme
    shape = diagram.pages[pageNumber].shapes.get_shape(rectangleId)
    shape.text.value.add(Txt(orgnode))
    shape.name = orgnode
    shapeIdMap[orgnode] = rectangleId

# Créer des connexions entre les nœuds
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)

# Graphique CompactTree à disposition automatique
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)

# Enregistrer le diagramme
diagram.save("CompactTreeChart_out.vsdx", SaveFileFormat.VSDX)
Créer un organigramme d'entreprise dans le style CompactTree à l'aide de Python

Créer un organigramme dans un style organigramme

De même, nous pouvons également créer un organigramme d’entreprise dans un style FlowChart en suivant les étapes mentionnées ci-dessus. Cependant, il nous suffit de spécifier LayoutStyle.FLOWCHART à l’étape 5.

L’exemple de code suivant montre comment créer un organigramme d’entreprise dans un style FlowChart à l’aide de Python.

# Cet exemple de code montre comment créer un organigramme d'entreprise dans un style FlowChart.
import aspose.diagram
from aspose.diagram import *

# Chargez des modèles à partir de n'importe quel diagramme, pochoir ou modèle existant
visioStencil = "BasicShapes.vss"
rectangleMaster = "Rectangle"
connectorMaster = "Dynamic connector"
pageNumber = 0
width = 1.0
height = 1.0
pinX = 4.25
pinY = 9.5

# Définir des valeurs pour construire la hiérarchie
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"]

# Définir un dictionnaire pour mapper le nom de la chaîne à l'identifiant de forme long
shapeIdMap = {}

# Créer un nouveau diagramme
diagram = Diagram(visioStencil)

for orgnode in listPos:
    # Ajouter une nouvelle forme de rectangle
    rectangleId = diagram.add_shape(pinX, pinY, width, height, rectangleMaster, pageNumber)
    pinX += 1
    pinY += 1
    # Définir les propriétés de la nouvelle forme
    shape = diagram.pages[pageNumber].shapes.get_shape(rectangleId)
    shape.text.value.add(Txt(orgnode))
    shape.name = orgnode
    shapeIdMap[orgnode] = rectangleId

# Créer des connexions entre les nœuds
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)

# Organigramme de mise en page automatique
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)

# Enregistrer le diagramme
diagram.save("FlowChart_out.vsdx", SaveFileFormat.VSDX)
Créer un organigramme d'entreprise dans un style FlowChart à l'aide de Python

Obtenez une licence temporaire gratuite

Obtenez une licence gratuite pour créer des organigrammes d’entreprise dans Visio sans limitations. Visitez notre page « Licence temporaire » pour connaître les étapes simples permettant d’obtenir votre licence gratuite et de commencer immédiatement à utiliser l’API du créateur d’organigrammes Python !

Créateur d’organigrammes Python – Ressources gratuites

Outre la création d’organigrammes d’entreprise, vous pouvez en savoir plus sur la création ou la modification d’organigrammes par programmation et explorer diverses autres fonctionnalités de la bibliothèque à l’aide des ressources ci-dessous :

Conclusion

Dans cet article de blog, nous avons vu comment créer un organigramme d’entreprise en Python à l’aide d’Aspose.Diagram for Python. Avec seulement quelques lignes de code, vous pouvez créer un graphique d’aspect professionnel qui montre la structure de votre entreprise. Aspose.Diagram for Python est un outil puissant qui peut vous aider à automatiser le processus de création et de modification de diagrammes, ce qui en fait une bibliothèque essentielle pour tout développeur Python travaillant avec des fichiers Visio. En cas d’ambiguïté, veuillez nous contacter sur notre forum d’assistance gratuit.

Voir également