Create Flowchart in Python

This tutorial guides how to create flowchart in Python. It explains the step-by-step algorithm and a working sample code to create a flowchart maker in Python. Moreover, you can customize the flowchart creation by changing the shape types, connections, schema, etc., as per your requirements.

Steps to Create Flowchart in Python

  1. Configure the system environment by downloading Aspose.Diagram to create flowchart diagrams
  2. Define a schema of the required flowchart
  3. Initiate an instance of the Diagram class and insert different shapes from the master stencil
  4. Specify the target layout and render the output flowchart with the save method

These steps outline the workflow to create a flowchart generator in Python. In the first step, define a schema for specifying the required parameters. Then, insert different shapes using the master stencil before exporting the generated flowchart.

Code to Create Flowchart Generator 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()

The sample code above is a quick demonstration to draw a flowchart in Python. It mainly works with the Diagram class to load different shapes, set the flowchart layout, and render the generated flowchart. Moreover, you can modify the layout to different orientations, like left to right, right to left, top to bottom, etc., to improvise the design based on your needs.

This article has covered the information to design a flow chart builder in Python. However, if you want to create an ORG chart, then read the article on Create ORG chart in Python.

 English