34 甘特图

34 甘特图

用途

工程进度与检修计划,条形长度即工期。

示例(5 张)

34-1 变电站扩建工程进度甘特图(含里程碑)

变电站扩建工程进度甘特图(含里程碑)

34-2 年度检修计划甘特图(带重叠检修标记)

年度检修计划甘特图(带重叠检修标记)

34-3 储能电站建设进度甘特图

储能电站建设进度甘特图

34-4 科研项目研究进度甘特图

科研项目研究进度甘特图

34-5 配电线路改造施工甘特图

配电线路改造施工甘特图

代码

以下 5 个函数取自 code/第六批_组合图261107.py,直接调用即可出图。样式(宋体 + Times、10 磅、刻度朝内四边、留白自检)由 code/公共配置261107.py 的 setup_cn_style() 和 save() 统一提供,本节不再重复。

# 摘自 code/第六批_组合图261107.py

def gt_01():
    """变电站扩建工程进度甘特图(含里程碑)。"""
    fig, ax = new_fig(left=0.28)
    tasks = ["初设审查", "设备招标", "土建施工", "设备安装", "调试验收"]
    starts = [0, 4, 8, 20, 30]
    durs = [4, 6, 12, 10, 6]
    for i, (st, du) in enumerate(zip(starts, durs)):
        ax.barh(i, du, left=st, height=0.5, color=PALETTE5[i],
                edgecolor="0.35", linewidth=0.5)
    ax.plot([36], [4], marker="D", ms=5, color=C2, ls="none")
    ax.set_yticks(range(len(tasks)))
    ax.set_yticklabels(tasks)
    ax.set_ylim(-0.7, len(tasks) - 0.2)
    ax.set_xlabel("工期 " + IT["t"] + " / 周")
    ax.set_ylabel("工程阶段")
    ax.set_xlim(0, 40)
    save(fig, "34_甘特图", "34_甘特图_变电站扩建工程")

def gt_02():
    """年度检修计划甘特图(带重叠检修标记)。"""
    fig, ax = new_fig(left=0.24)
    tasks = ["主变 T1", "主变 T2", "母线", "断路器组", "保护装置"]
    starts = [3, 12, 20, 26, 34]
    durs = [5, 4, 3, 6, 4]
    for i, (st, du) in enumerate(zip(starts, durs)):
        ax.barh(i, du, left=st, height=0.48, color=COLORS[i % 4],
                edgecolor="0.35", linewidth=0.5)
    ax.axvspan(26, 32, color=C3, alpha=0.15, linewidth=0)
    ax.set_yticks(range(len(tasks)))
    ax.set_yticklabels(tasks)
    ax.set_ylim(-0.7, len(tasks) - 0.2)
    ax.set_xlabel("计划时间 " + IT["t"] + " / 周")
    ax.set_ylabel("检修对象")
    ax.set_xlim(0, 42)
    save(fig, "34_甘特图", "34_甘特图_年度检修计划")

def gt_03():
    """储能电站建设进度甘特图。"""
    fig, ax = new_fig(left=0.26)
    tasks = ["选址", "土建", "电池舱吊装", "PCS 安装", "并网调试"]
    starts = [0, 3, 10, 16, 22]
    durs = [3, 7, 6, 6, 5]
    for i, (st, du) in enumerate(zip(starts, durs)):
        ax.barh(i, du, left=st, height=0.5, color=PALETTE5[i],
                edgecolor="0.35", linewidth=0.5)
    for x in (22, 27):
        ax.plot([x], [4], marker="v", ms=5, color=C2, ls="none")
    ax.set_yticks(range(len(tasks)))
    ax.set_yticklabels(tasks)
    ax.set_ylim(-0.7, len(tasks) - 0.2)
    ax.set_xlabel("工期 " + IT["t"] + " / 周")
    ax.set_ylabel("建设阶段")
    ax.set_xlim(0, 30)
    save(fig, "34_甘特图", "34_甘特图_储能电站建设")

def gt_04():
    """科研项目研究进度甘特图。"""
    fig, ax = new_fig(left=0.26)
    tasks = ["文献调研", "模型搭建", "算例验证", "论文撰写", "成果整理"]
    starts = [0, 3, 9, 16, 24]
    durs = [4, 7, 8, 8, 5]
    for i, (st, du) in enumerate(zip(starts, durs)):
        ax.barh(i, du, left=st, height=0.5, color=COLORS[i % 4],
                edgecolor="0.35", linewidth=0.5, alpha=0.9)
    ax.set_yticks(range(len(tasks)))
    ax.set_yticklabels(tasks)
    ax.set_ylim(-0.7, len(tasks) - 0.2)
    ax.set_xlabel("时间 " + IT["t"] + " / 月")
    ax.set_ylabel("研究阶段")
    ax.set_xlim(0, 32)
    save(fig, "34_甘特图", "34_甘特图_科研项目进度")

def gt_05():
    """配电线路改造施工甘特图。"""
    fig, ax = new_fig(left=0.26)
    tasks = ["停电申请", "旧线拆除", "新线架设", "金具安装", "恢复送电"]
    starts = [0, 2, 5, 12, 16]
    durs = [2, 3, 7, 4, 2]
    for i, (st, du) in enumerate(zip(starts, durs)):
        ax.barh(i, du, left=st, height=0.5, color=PALETTE5[i],
                edgecolor="0.35", linewidth=0.5)
    ax.set_yticks(range(len(tasks)))
    ax.set_yticklabels(tasks)
    ax.set_ylim(-0.7, len(tasks) - 0.2)
    ax.set_xlabel("工期 " + IT["t"] + " / d")
    ax.set_ylabel("施工工序")
    ax.set_xlim(0, 20)
    save(fig, "34_甘特图", "34_甘特图_配电线路改造")

说明

  • 图片尺寸 1181×944 px(100 mm × 80 mm @ 300 dpi),三维图为 1181×1122 px。
  • 图内不放标题,图题由本文件的二级/三级标题承担。
  • 数据为贴近广东实际量级的仿真算例,随机种子固定,重跑结果一致。
posted @ 2026-11-08 00:11  小青蛙电气  阅读(4)  评论(0)    收藏  举报