绘制甘特图函数 function plot_gantt_chart(job_num, machine_num, start_time, makespan)
时间: 2024-02-11 21:08:52 浏览: 211
matlab实现甘特图绘制
好的,下面是一个简单的 Python 实现:
```python
import matplotlib.pyplot as plt
def plot_gantt_chart(job_num, machine_num, start_time, makespan):
# 计算每个作业的结束时间
end_time = start_time + makespan
# 设置画布大小
fig, ax = plt.subplots(figsize=(10, 5))
# 设置坐标轴标签和范围
ax.set_xlabel('Time')
ax.set_ylabel('Machine')
ax.set_ylim(0.5, machine_num + 0.5)
ax.set_xlim(0, makespan)
# 绘制甘特图
for i in range(machine_num):
y = [i + 1] * 2
x = [start_time[i], end_time[i]]
ax.plot(x, y, 'b-', linewidth=20)
plt.show()
```
其中,`job_num` 表示作业数量,`machine_num` 表示机器数量,`start_time` 表示每个作业在各个机器上的开始时间(一个二维数组),`makespan` 表示所有作业完成的总时间。函数中使用了 Matplotlib 库来绘制甘特图,并且假设每个作业的名称是 `Job1`、`Job2`、`Job3`...,每个机器的名称是 `Machine1`、`Machine2`、`Machine3`...。你可以根据自己的需要进行修改。
阅读全文