ORG-diagram maken in Python

Dit artikel legt uit hoe u een ORG-diagram kunt maken in Python. Het bevat de systeemvereisten, een stapsgewijze handleiding en een uitvoerbaar codevoorbeeld om een organigram te genereren in Python. Bovendien kunt u het organigram aanpassen en het eindresultaat exporteren naar een VSDX of VSD bestandsformaat, afhankelijk van uw vereisten.

Stappen om een ORG-diagram te maken in Python

  1. Installeer Aspose.Diagram op uw systeem om een ORG-diagram te maken
  2. Initialiseer een instantie van de Diagram klasse om de mastervormen uit een sjabloon te laden
  3. Voeg de benodigde vormen toe en maak verbindingen tussen verschillende knooppunten
  4. Stel verschillende diagramaanpassingen in met de LayoutOptions klasse en genereer het ORG-diagram

De bovenstaande stappen beschrijven het proces van een ORG-diagram generator in Python. Eerst configureert u de systeeminstellingen en laadt u de mastervormen uit een sjabloonbestand. Vervolgens voegt u de doelvormen en de bijbehorende verbindingen toe voordat u het uiteindelijke diagram genereert.

Code om een ORG-diagram te maken in Python

import aspose.diagram
from aspose.diagram import *
path = "C://"
# Load masters from any existing diagram, stencil or template
visioStencil = path + "BasicShapes.vss"
rectangleMaster = "Rectangle"
connectorMaster = "Dynamic connector"
pageNumber = 0
width = 1.0
height = 1.0
pinX = 4.25
pinY = 9.5
# Define values to construct the hierarchy
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"]
# Define a dictionary to map the string name to long shape id
shapeIdMap = {}
# Create a new diagram
diagram = Diagram(visioStencil)
diagram.pages[pageNumber].page_sheet.page_props.page_width.value = 11.0
for orgnode in listPos:
# Add a new rectangle shape
rectangleId = diagram.add_shape(pinX, pinY, width, height, rectangleMaster, pageNumber)
pinX += 1
pinY += 1
# Set the new shape's properties
shape = diagram.pages[pageNumber].shapes.get_shape(rectangleId)
shape.text.value.add(Txt(orgnode))
shape.name = orgnode
shapeIdMap[orgnode] = rectangleId
# Create connections between nodes
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)
# Auto layout CompactTree chart
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)
# Save diagram
diagram.save("ORGchart_out.vsdx", SaveFileFormat.VSDX)

Deze code laat zien hoe u een ORG-diagram bouwer in Python kunt implementeren. U kunt het verder aanpassen door het aantal of de volgorde van de vormen te wijzigen, evenals de richting en positie van de verbindingslijnen. Ook kunt u de knoopvormen en verbindingen aanpassen door de ouder-ID en andere eigenschappen te wijzigen om aan uw behoeften te voldoen.

Deze handleiding heeft uitgelegd hoe u een ORG-diagram maker in Python kunt maken. Als u geïnteresseerd bent in het maken van Visio-diagrammen vanaf nul, lees dan het artikel Visio-diagram maken in Python.

 Nederlands