Untitled

 avatar
unknown
plain_text
a year ago
1.9 kB
21
Indexable
from graphviz import Digraph

# Create a simplified directed graph for presentation
dot = Digraph(comment="ALERI Organisational Structure - Simplified", format='png')
dot.attr(rankdir='TB', size='8', nodesep='0.6', ranksep='0.9')

# Top structure
dot.node("Advisory Board", shape="box", style="filled", fillcolor="lightgrey")
dot.node("Hub Director", shape="box", style="filled", fillcolor="lightblue")
dot.node("COO", "Chief Operations Officer", shape="box", style="filled", fillcolor="lightblue")
dot.node("Research Manager", shape="box", style="filled", fillcolor="lightblue")

# Connections top-down
dot.edges([("Advisory Board", "Hub Director"),
           ("Hub Director", "COO"),
           ("COO", "Research Manager")])

# Two main pillars
dot.node("Research & Publications", shape="box3d", style="filled", fillcolor="lightyellow")
dot.node("Capacity Building", shape="box3d", style="filled", fillcolor="lightyellow")
dot.edge("Research Manager", "Research & Publications")
dot.edge("Research Manager", "Capacity Building")

# Research & Publications projects (grouped)
dot.node("Projects_RP", "Projects: CLP | Case Digest | Mediation Paper | CLE", 
         shape="ellipse", style="filled", fillcolor="white")
dot.edge("Research & Publications", "Projects_RP")

# Capacity Building (proposed project)
dot.node("Projects_CB", "Proposed: Seminar on Marriage Law", 
         shape="ellipse", style="dashed", fillcolor="white")
dot.edge("Capacity Building", "Projects_CB")

# Lowest level - interns (shared across)
dot.node("Interns", "Research Interns (#0)", shape="ellipse", style="filled", fillcolor="lightgrey")
dot.edge("Projects_RP", "Interns")
dot.edge("Projects_CB", "Interns")

# Render the simplified diagram
file_path = '/mnt/data/aleri_structure_simple'
dot.render(file_path, view=False)

file_path + ".png"

Editor is loading...
Leave a Comment