用python语言画出某公司的组织结构图 数据 总经理 财务部门 财务主管 会计师 人事部门 人事主管 HR 技术部门 技术主管 开发工程师 测试工程师 要求 绘制一个组织关系图,展示公司的整体架构 使用不同的颜色和形状来区分不同的部门的职位 在图表中添加标签,标注每个职位的名称
时间: 2024-03-05 14:50:00 浏览: 32
你可以使用第三方库 `graphviz` 来绘制组织结构图。以下是一个示例代码:
```python
from graphviz import Digraph
# 创建有向图
dot = Digraph(comment='Organization Structure')
# 添加节点
dot.node('A', '总经理', shape='house', style='filled', fillcolor='lightblue')
dot.node('B', '财务部门', shape='folder', style='filled', fillcolor='lightgrey')
dot.node('C', '财务主管', shape='record', style='filled', fillcolor='lightgrey')
dot.node('D', '会计师', shape='ellipse', style='filled', fillcolor='lightgrey')
dot.node('E', '人事部门', shape='folder', style='filled', fillcolor='lightgrey')
dot.node('F', '人事主管', shape='record', style='filled', fillcolor='lightgrey')
dot.node('G', 'HR', shape='ellipse', style='filled', fillcolor='lightgrey')
dot.node('H', '技术部门', shape='folder', style='filled', fillcolor='lightgrey')
dot.node('I', '技术主管', shape='record', style='filled', fillcolor='lightgrey')
dot.node('J', '开发工程师', shape='ellipse', style='filled', fillcolor='lightgrey')
dot.node('K', '测试工程师', shape='ellipse', style='filled', fillcolor='lightgrey')
# 添加边
dot.edge('A', 'B')
dot.edge('B', 'C')
dot.edge('C', 'D')
dot.edge('A', 'E')
dot.edge('E', 'F')
dot.edge('F', 'G')
dot.edge('A', 'H')
dot.edge('H', 'I')
dot.edge('I', 'J')
dot.edge('I', 'K')
# 渲染图像
dot.render('org_structure.gv', view=True)
```
在这个示例代码中,我们使用 `graphviz` 库创建了一个有向图,并添加了不同的节点和边。每个节点都使用不同的形状、颜色和填充样式来区分不同的部门和职位。你可以自行为每个节点添加标签,以标注其名称。运行代码后,它会在当前目录下生成一个名为 `org_structure.gv.pdf` 的 PDF 文件,你可以用任何 PDF 阅读器来查看或打印它。