Deze tutorial legt uit hoe je een stroomdiagram kunt maken in Python. Het bevat een stapsgewijs algoritme en een werkende voorbeeldcode om een stroomdiagramgenerator te maken in Python. Daarnaast kun je het maken van stroomdiagrammen aanpassen door vormtypen, verbindingen, schema’s, enz. te wijzigen volgens je vereisten.
Stappen om een stroomdiagram te maken in Python
- Configureer de systeemomgeving door Aspose.Diagram te downloaden om stroomdiagrammen te maken
- Definieer het schema van het gewenste stroomdiagram
- Initialiseer een instantie van de Diagram-klasse en voeg verschillende vormen in vanuit de hoofdstencil
- Specificeer de doelindeling en render het stroomdiagram met de save-methode
Deze stappen beschrijven de workflow voor het maken van een stroomdiagramgenerator in Python. In de eerste stap definieer je een schema om de vereiste parameters op te geven. Vervolgens voeg je verschillende vormen in met behulp van de hoofdstencil voordat je het gegenereerde stroomdiagram exporteert.
Code om een stroomdiagramgenerator te maken in Python
import aspose.diagram | |
from aspose.diagram import * | |
path = "C://" | |
import aspose.diagram | |
from aspose.diagram import * | |
def createFlowChart(): | |
# schema for the diagram to be created | |
diagram_object = Input( | |
input_rectangles=[ | |
InputRectangle("A", "Manager"), | |
InputRectangle("B", "Team Leader"), | |
InputRectangle("C", "Team Member"), | |
InputRectangle("D", "Team Member"), | |
InputRectangle("E", "Team Member") | |
], | |
input_connectors=[ | |
InputConnector("A", "B"), | |
InputConnector("B", "C"), | |
InputConnector("B", "D"), | |
InputConnector("B", "E") | |
] | |
) | |
diagram = Diagram(path + "BasicShapes.vss") | |
page = diagram.pages[0] | |
shape_names = {} | |
# Adding shapes and connectors from the schema | |
for rectangle in diagram_object.InputRectangles: | |
shape = Shape() | |
shape_id = diagram.add_shape(shape, "Rectangle", 0) | |
shape_names[rectangle.Name] = shape_id | |
shape = page.shapes.get_shape(shape_id) | |
shape.text.value.add(Txt(rectangle.Text)) | |
for connector in diagram_object.InputConnectors: | |
connector_id = diagram.add_shape(Shape(), "Dynamic connector", 0) | |
page.connect_shapes_via_connector( | |
shape_names[connector.OriginShapeName], | |
aspose.diagram.manipulation.ConnectionPointPlace.RIGHT, | |
shape_names[connector.DestinationShapeName], | |
aspose.diagram.manipulation.ConnectionPointPlace.LEFT, | |
connector_id | |
) | |
layout_options = aspose.diagram.autolayout.LayoutOptions() | |
layout_options.layout_style = aspose.diagram.autolayout.LayoutStyle.FLOW_CHART | |
layout_options.direction = aspose.diagram.autolayout.LayoutDirection.LEFT_TO_RIGHT | |
layout_options.space_shapes = 5.0 | |
layout_options.enlarge_page = True | |
diagram.layout(layout_options) | |
page.page_sheet.print_props.print_page_orientation.value = PrintPageOrientationValue.LANDSCAPE | |
save_options = aspose.diagram.saving.DiagramSaveOptions() | |
save_options.save_format = SaveFileFormat.VSDX | |
save_options.auto_fit_page_to_drawing_content = True | |
diagram.save(path + "flowchart_output.vsdx", save_options) | |
class Input: | |
def __init__(self, input_rectangles=None, input_connectors=None): | |
self.InputRectangles = input_rectangles if input_rectangles else [] | |
self.InputConnectors = input_connectors if input_connectors else [] | |
class InputRectangle: | |
def __init__(self, name, text): | |
self.Name = name | |
self.Text = text | |
class InputConnector: | |
def __init__(self, origin_shape_name, destination_shape_name): | |
self.OriginShapeName = origin_shape_name | |
self.DestinationShapeName = destination_shape_name | |
createFlowChart() |
De bovenstaande voorbeeldcode is een snelle demonstratie van hoe je een stroomdiagram kunt tekenen in Python. Het werkt voornamelijk met de Diagram-klasse om verschillende vormen te laden, de indeling van het stroomdiagram in te stellen en het gegenereerde stroomdiagram te renderen. Bovendien kun je de indeling aanpassen aan verschillende oriëntaties, zoals van links naar rechts, van rechts naar links, van boven naar beneden, enz., om het ontwerp te verbeteren op basis van je behoeften.
Dit artikel heeft de informatie behandeld voor het ontwerpen van een stroomdiagramtool in Python. Als je echter een organigram wilt maken, lees dan het artikel Organigram maken in Python.