Pythonでフローチャートを作成する

このチュートリアルでは、Pythonでフローチャートを作成する方法を説明します。手順ごとのアルゴリズムと、Pythonでフローチャートメーカーを作成するためのサンプルコードを紹介します。さらに、図形の種類、接続、スキーマなどをカスタマイズして、要件に応じたフローチャートを作成できます。

Pythonでフローチャートを作成する手順

  1. Aspose.Diagram をダウンロードして、フローチャートを作成するためのシステム環境を設定する。
  2. 必要なフローチャートのスキーマを定義する。
  3. Diagram クラスのインスタンスを作成し、マスターステンシルからさまざまな図形を挿入する。
  4. ターゲットレイアウトを指定し、save メソッドを使用してフローチャートを出力する。

これらの手順は、Pythonでフローチャートジェネレーターを作成するためのワークフローを示しています。最初に必要なスキーマを定義し、次にマスターステンシルを使用して図形を挿入し、最後に生成されたフローチャートをエクスポートします。

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()

上記のサンプルコードは、Pythonでフローチャートを描くための簡単なデモです。主にDiagramクラスを使用してさまざまな図形を読み込み、フローチャートのレイアウトを設定し、最終的なフローチャートをレンダリングします。さらに、左右方向、上下方向など、さまざまなレイアウトに変更して、デザインを調整できます。

この記事では、Pythonでフローチャートビルダーを作成する方法を紹介しました。ただし、組織図(ORGチャート)を作成したい場合は、PythonでORGチャートを作成する 記事をご覧ください。

 日本語