Ez a téma bemutatja, hogyan lehet ORG diagramot létrehozni Pythonban. Tartalmazza a rendszerbeállításokat, a lépésről lépésre történő folyamatot és egy futtatható kódrészletet egy szervezeti diagram készítő létrehozásához Pythonban. Ezenkívül testre szabhatja a szervezeti diagramot, és a kimeneti ábrát exportálhatja VSDX vagy VSD formátumban az igényeinek megfelelően.
ORG diagram létrehozásának lépései Pythonban
- Állítsa be az Aspose.Diagram csomagot a rendszerén az ORG diagram létrehozásához.
- Inicializáljon egy Diagram osztály példányt a fő alakzatok betöltéséhez egy sablonból.
- Adja hozzá a szükséges alakzatokat, és hozzon létre kapcsolatokat a különböző csomópontok között.
- Állítsa be a diagram különböző tulajdonságait a LayoutOptions osztállyal, és hozza létre a kimeneti ORG diagramot.
A fenti lépések bemutatják az ORG diagram generátor Pythonban létrehozásának folyamatát. Először konfigurálja a rendszerbeállításokat, és töltse be a fő alakzatok mintáját egy stencil fájlból. Ezután helyezze el a kívánt alakzatokat és kapcsolatokat a szervezeti diagramon, mielőtt az ábrát generálná.
Kód ORG diagram készítő létrehozásához Pythonban
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) |
Ez a kódrészlet bemutatja az ORG diagram készítő létrehozását Pythonban. Azonban további fejlesztéseket is végezhet, például módosíthatja az alakzatok számát vagy sorrendjét, illetve az összekötők irányát és elhelyezkedését. Ezenkívül testre szabhatja a csomópont alakzatokat és kapcsolatokat a szülő alakzat azonosítójának és egyéb tulajdonságok módosításával.
Ez a gyors útmutató ismertette az ORG diagram készítését Pythonban. Ha azonban teljesen új Visio diagramokat szeretne létrehozni, olvassa el a Visio diagram létrehozása Pythonban című cikket.