Dieses Thema behandelt, wie man ein ORG-Diagramm in Python erstellt. Es enthält die Systemanforderungen, eine schrittweise Anleitung und ein ausführbares Codebeispiel zur Entwicklung eines Organigramm-Generators in Python. Darüber hinaus können Sie das Organigramm individuell anpassen und die Ausgabe als VSDX oder VSD speichern.
Schritte zur Erstellung eines ORG-Diagramms in Python
- Richten Sie Aspose.Diagram auf Ihrem System ein, um ein ORG-Diagramm zu erstellen
- Initialisieren Sie eine Instanz der Diagram-Klasse, um die Masterformen aus einer Beispiel-Schablone zu laden
- Fügen Sie die erforderlichen Formen hinzu und verbinden Sie verschiedene Knoten miteinander
- Legen Sie verschiedene Diagrammeigenschaften mit der LayoutOptions-Klasse fest und rendern Sie das ORG-Diagramm
Diese Schritte beschreiben den Arbeitsablauf zur Entwicklung eines Organigramm-Generators in Python. Zuerst konfigurieren Sie das System und laden die Masterformen aus einer Schablonen-Datei. Anschließend fügen Sie die erforderlichen Formen und Verbindungen hinzu, bevor Sie das endgültige Diagramm generieren.
Code zur Erstellung eines Organigramm-Generators 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) |
Dieses Codebeispiel zeigt, wie man einen Organigramm-Ersteller in Python programmiert. Sie können den Code anpassen, indem Sie die Anzahl oder Reihenfolge der Formen ändern sowie die Verbindungslinien, Positionen und andere Eigenschaften nach Bedarf modifizieren. Ebenso können Sie die Knotenformen und deren Verbindungen anpassen, indem Sie die übergeordneten Shape-IDs und andere Parameter ändern.
Dieser Leitfaden erklärt, wie man einen Organigramm-Generator in Python erstellt. Falls Sie sich für die Erstellung von Visio-Diagrammen von Grund auf interessieren, lesen Sie den Artikel Visio-Diagramm in Python erstellen.