Pythonで会社の組織図を作成する

組織図 は、企業、政府、または組織の階層と構造を視覚的に表し、政策立案や計画などの目的に役立ちます。さまざまな図形とコネクタを活用して、さまざまな種類のチャートを設計できます。この記事では、Python で会社の組織図を作成する方法について段階的に説明します。これにより、組織の構造を効果的に説明して伝えることができます。

この記事では、以下のトピックについて説明します。

  1. Python 組織図作成 API
  2. CompactTreeスタイルで会社の組織図を作成する
  3. フローチャート形式で会社の組織図を作成する
  4. 無料リソース

Python 組織図作成 API – 無料ダウンロード

会社の組織図を作成するには、Aspose.Diagram for Pythonを使用します。これは、開発者がプログラムでVisio図を作成、操作、変換できるようにする強力なAPIです。Aspose.Diagram for Pythonを使用すると、組織図の作成と更新を自動化できるため、人事、管理、ビジネス分析アプリケーションに不可欠なツールになります。

パッケージをダウンロードするか、コンソールで次のpipコマンドを使用してPyPIからAPIをインストールしてください。

pip install aspose-diagram-python 

コンパクトツリースタイルで会社の組織図を作成する

以下の手順に従うと、CompactTree スタイルの会社組織図を簡単に作成できます。

  1. 既存のダイアグラム、ステンシル、またはテンプレートからマスターを読み込みます。
  2. 階層を構築するための値を定義します。
  3. Diagram クラスのインスタンスを作成します。
  4. ノード間に図形と接続を追加します。
  5. LayoutOptions を指定し、LayoutStyle.COMPACTTREE を設定します。
  6. save() メソッドを使用して出力図を保存します。

次のコード サンプルは、Python を使用して CompactTree スタイルの会社の組織図を作成する方法を示しています。

# このコードサンプルは、CompactTreeスタイルで会社の組織図を作成する方法を示しています。
import aspose.diagram
from aspose.diagram import *

# 既存のダイアグラム、ステンシル、テンプレートからマスターをロードします
visioStencil = "BasicShapes.vss"
rectangleMaster = "Rectangle"
connectorMaster = "Dynamic connector"
pageNumber = 0
width = 1.0
height = 1.0
pinX = 4.25
pinY = 9.5

# 階層を構築するための値を定義する
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"]

# 文字列名を長い形状IDにマッピングする辞書を定義します
shapeIdMap = {}

# 新しい図を作成する
diagram = Diagram(visioStencil)
diagram.pages[pageNumber].page_sheet.page_props.page_width.value = 11.0

for orgnode in listPos:
    # 新しい長方形を追加する
    rectangleId = diagram.add_shape(pinX, pinY, width, height, rectangleMaster, pageNumber)
    pinX += 1
    pinY += 1
    # 新しい図形のプロパティを設定する
    shape = diagram.pages[pageNumber].shapes.get_shape(rectangleId)
    shape.text.value.add(Txt(orgnode))
    shape.name = orgnode
    shapeIdMap[orgnode] = rectangleId

# ノード間の接続を作成する
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)

# 自動レイアウト CompactTree チャート
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)

# 図を保存
diagram.save("CompactTreeChart_out.vsdx", SaveFileFormat.VSDX)
Python を使用して CompactTree スタイルの会社組織図を作成する

フローチャート形式で組織図を作成する

同様に、上記の手順に従って、FlowChart スタイルの会社組織図を作成することもできます。ただし、手順 5 で LayoutStyle.FLOWCHART を指定するだけです。

次のコード サンプルは、Python を使用して FlowChart スタイルで会社の組織図を作成する方法を示しています。

# このコードサンプルは、フローチャートスタイルで会社の組織図を作成する方法を示しています。
import aspose.diagram
from aspose.diagram import *

# 既存のダイアグラム、ステンシル、テンプレートからマスターをロードします
visioStencil = "BasicShapes.vss"
rectangleMaster = "Rectangle"
connectorMaster = "Dynamic connector"
pageNumber = 0
width = 1.0
height = 1.0
pinX = 4.25
pinY = 9.5

# 階層を構築するための値を定義する
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"]

# 文字列名を長い形状IDにマッピングする辞書を定義します
shapeIdMap = {}

# 新しい図を作成する
diagram = Diagram(visioStencil)

for orgnode in listPos:
    # 新しい長方形を追加する
    rectangleId = diagram.add_shape(pinX, pinY, width, height, rectangleMaster, pageNumber)
    pinX += 1
    pinY += 1
    # 新しい図形のプロパティを設定する
    shape = diagram.pages[pageNumber].shapes.get_shape(rectangleId)
    shape.text.value.add(Txt(orgnode))
    shape.name = orgnode
    shapeIdMap[orgnode] = rectangleId

# ノード間の接続を作成する
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)

# フローチャートの自動レイアウト
flowChartOptions = autolayout.LayoutOptions()
flowChartOptions.layout_style = autolayout.LayoutStyle.FLOW_CHART
flowChartOptions.direction = autolayout.LayoutDirection.TOP_TO_BOTTOM
flowChartOptions.enlarge_page = True

diagram.pages[pageNumber].layout(flowChartOptions)

# 図を保存
diagram.save("FlowChart_out.vsdx", SaveFileFormat.VSDX)
Python を使用してフローチャート スタイルの会社組織図を作成する

無料の一時ライセンスを取得する

無料ライセンスを取得 して、制限なく Visio で会社の組織図を作成しましょう。無料ライセンスを取得して Python 組織図作成 API をすぐに使い始めるための簡単な手順については、「一時ライセンス」ページをご覧ください。

Python 組織図メーカー – 無料リソース

会社の組織図を作成する以外にも、プログラムによる組織図の作成や編集についてさらに詳しく学習したり、以下のリソースを使用してライブラリのさまざまな機能を探索したりできます。

結論

このブログ記事では、Aspose.Diagram for Python を使用して Python で会社の組織図を作成する方法を見てきました。わずか数行のコードで、会社の構造を示すプロフェッショナルな外観の図を作成できます。Aspose.Diagram for Python は、ダイアグラムの作成と変更のプロセスを自動化するのに役立つ強力なツールであり、Visio ファイルで作業するすべての Python 開発者にとって不可欠なライブラリです。不明な点がある場合は、無料サポート フォーラム でお問い合わせください。

参照