Vytvořte organizační schéma společnosti v Pythonu

Organizační schéma vizuálně představuje hierarchii a strukturu společnosti, vlády nebo organizace a slouží účelům, jako je tvorba politik a plánování. Využitím různých tvarů a konektorů můžete navrhovat různé typy grafů. Tento článek poskytuje podrobný návod, jak vytvořit organizační schéma společnosti v Pythonu, což vám umožní efektivně ilustrovat a komunikovat strukturu vaší organizace.

Tento článek se zabývá následujícími tématy:

  1. Python Organizational Chart Maker API
  2. Vytvořte organizační schéma společnosti ve stylu CompactTree
  3. Vytvořit organizační schéma společnosti ve stylu vývojového diagramu
  4. Bezplatné zdroje

Python Organizational Chart Maker API – ke stažení zdarma

Pro tvorbu firemních organizačních schémat použijeme Aspose.Diagram for Python. Jedná se o výkonné rozhraní API, které umožňuje vývojářům vytvářet, manipulovat a převádět diagramy Visio programově. S Aspose.Diagram for Python můžete automatizovat vytváření a aktualizaci organizačních diagramů, což z něj činí základní nástroj pro aplikace HR, management a obchodní analýzy.

Prosím stáhněte si balíček nebo nainstalujte API z PyPI pomocí následujícího příkazu pip v konzole:

pip install aspose-diagram-python 

Vytvořte organizační schéma společnosti ve stylu CompactTree

Organizační schéma společnosti ve stylu CompactTree můžeme snadno vytvořit podle následujících kroků:

  1. Načtěte předlohy z jakéhokoli existujícího diagramu, šablony nebo šablony.
  2. Definujte hodnoty pro konstrukci hierarchie.
  3. Vytvořte instanci třídy Diagram.
  4. Přidejte tvary a spojení mezi uzly.
  5. Zadejte LayoutOptions a nastavte LayoutStyle.COMPACTTREE.
  6. Uložte výstupní diagram pomocí metody save().

Následující ukázka kódu ukazuje, jak vytvořit organizační schéma společnosti ve stylu CompactTree pomocí Pythonu.

# Tato ukázka kódu ukazuje, jak vytvořit organizační schéma společnosti ve stylu CompactTree
import aspose.diagram
from aspose.diagram import *

# Načtěte předlohy z jakéhokoli existujícího diagramu, šablony nebo šablony
visioStencil = "BasicShapes.vss"
rectangleMaster = "Rectangle"
connectorMaster = "Dynamic connector"
pageNumber = 0
width = 1.0
height = 1.0
pinX = 4.25
pinY = 9.5

# Definujte hodnoty pro konstrukci hierarchie
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"]

# Definujte slovník pro mapování názvu řetězce na dlouhé id tvaru
shapeIdMap = {}

# Vytvořte nový diagram
diagram = Diagram(visioStencil)
diagram.pages[pageNumber].page_sheet.page_props.page_width.value = 11.0

for orgnode in listPos:
    # Přidejte nový tvar obdélníku
    rectangleId = diagram.add_shape(pinX, pinY, width, height, rectangleMaster, pageNumber)
    pinX += 1
    pinY += 1
    # Nastavte vlastnosti nového tvaru
    shape = diagram.pages[pageNumber].shapes.get_shape(rectangleId)
    shape.text.value.add(Txt(orgnode))
    shape.name = orgnode
    shapeIdMap[orgnode] = rectangleId

# Vytvořte spojení mezi uzly
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)

# Automatický graf 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)

# Uložit diagram
diagram.save("CompactTreeChart_out.vsdx", SaveFileFormat.VSDX)
Vytvořte organizační schéma společnosti ve stylu CompactTree pomocí Pythonu

Vytvořte organizační schéma ve stylu vývojového diagramu

Podobně můžeme také vytvořit organizační schéma společnosti ve stylu FlowChart podle výše uvedených kroků. Stačí však zadat LayoutStyle.FLOWCHART v kroku 5.

Následující ukázka kódu ukazuje, jak vytvořit organizační schéma společnosti ve stylu FlowChart pomocí Pythonu.

# Tato ukázka kódu ukazuje, jak vytvořit organizační schéma společnosti ve stylu vývojového diagramu
import aspose.diagram
from aspose.diagram import *

# Načtěte předlohy z jakéhokoli existujícího diagramu, šablony nebo šablony
visioStencil = "BasicShapes.vss"
rectangleMaster = "Rectangle"
connectorMaster = "Dynamic connector"
pageNumber = 0
width = 1.0
height = 1.0
pinX = 4.25
pinY = 9.5

# Definujte hodnoty pro konstrukci hierarchie
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"]

# Definujte slovník pro mapování názvu řetězce na dlouhé id tvaru
shapeIdMap = {}

# Vytvořte nový diagram
diagram = Diagram(visioStencil)

for orgnode in listPos:
    # Přidejte nový tvar obdélníku
    rectangleId = diagram.add_shape(pinX, pinY, width, height, rectangleMaster, pageNumber)
    pinX += 1
    pinY += 1
    # Nastavte vlastnosti nového tvaru
    shape = diagram.pages[pageNumber].shapes.get_shape(rectangleId)
    shape.text.value.add(Txt(orgnode))
    shape.name = orgnode
    shapeIdMap[orgnode] = rectangleId

# Vytvořte spojení mezi uzly
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)

# Vývojový diagram automatického rozložení
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)

# Uložit diagram
diagram.save("FlowChart_out.vsdx", SaveFileFormat.VSDX)
Vytvořte organizační schéma společnosti ve stylu vývojového diagramu pomocí Pythonu

Získejte bezplatnou dočasnou licenci

Získejte bezplatnou licenci k vytváření organizačních schémat společnosti ve Visiu bez omezení. Navštivte naši stránku ‘Dočasná licence’, kde najdete jednoduché kroky k získání vaší bezplatné licence a hned začněte používat rozhraní API pro tvorbu organizačních diagramů Pythonu!

Python Organization Chart Maker – bezplatné zdroje

Kromě vytváření organizačních schémat společnosti se můžete dozvědět více o vytváření nebo úpravách organizačních schémat programově a prozkoumat různé další funkce knihovny pomocí zdrojů níže:

Závěr

V tomto příspěvku na blogu jsme viděli, jak vytvořit organizační schéma společnosti v Pythonu pomocí Aspose.Diagram for Python. Pomocí několika řádků kódu můžete vytvořit profesionálně vypadající graf, který ukazuje strukturu vaší společnosti. Aspose.Diagram for Python je výkonný nástroj, který vám může pomoci automatizovat proces vytváření a úprav diagramů, což z něj činí základní knihovnu pro každého vývojáře Pythonu, který pracuje se soubory Visio. V případě jakýchkoliv nejasností nás prosím kontaktujte na našem bezplatném fóru podpory.

Viz také