Topik ini membahas cara membuat diagram ORG di Python. Ini mencakup pengaturan sistem, proses langkah demi langkah, dan contoh kode yang dapat dijalankan untuk membuat pembuat diagram organisasi di Python. Selain itu, Anda dapat melakukan berbagai kustomisasi pada diagram organisasi dan mengekspor diagram keluaran dalam format file VSDX atau VSD sesuai kebutuhan Anda.
Langkah-langkah Membuat Diagram ORG di Python
- Siapkan Aspose.Diagram di sistem Anda untuk membuat diagram ORG.
- Buat instance kelas Diagram untuk memuat bentuk utama dari contoh stencil.
- Tambahkan bentuk yang diperlukan dan buat koneksi antara berbagai node.
- Atur berbagai properti diagram menggunakan kelas LayoutOptions dan hasilkan diagram ORG.
Langkah-langkah di atas menjelaskan alur kerja dalam mengembangkan generator diagram ORG di Python. Pertama, atur sistem dan muat bentuk utama dari contoh stencil. Selanjutnya, tambahkan bentuk target dan koneksi masing-masing ke dalam diagram organisasi sebelum menyimpan diagram keluarannya.
Kode untuk Membuat Diagram ORG di 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) |
Cuplikan kode ini menunjukkan fitur untuk membuat pembangun diagram ORG di Python. Namun, Anda dapat meningkatkan kode ini dengan menyesuaikan jumlah atau urutan bentuk, arah konektor, posisi, dan sebagainya. Demikian pula, Anda dapat mengubah bentuk node dan koneksi dengan memanipulasi ID bentuk induk dan properti lainnya sesuai kebutuhan Anda.
Panduan cepat ini telah mencakup informasi tentang cara membuat pembuat diagram ORG di Python. Jika Anda tertarik untuk membuat diagram Visio dari awal, silakan baca artikel tentang Membuat Diagram Visio di Python.