03 柱状图 bar

用途

离散类别的量值比较,如各次谐波含有率、分时段用电量;分组柱与堆叠柱都基于它。

示例(5 张)

03-1 母线电压各次谐波含有率

母线电压各次谐波含有率

03-2 分时段用电量统计(纵向柱,峰值时段高亮)

分时段用电量统计(纵向柱,峰值时段高亮)

03-3 各支路电流有效值对比

各支路电流有效值对比

03-4 全年各月发电量

全年各月发电量

03-5 三种降损方案的年线损对比

三种降损方案的年线损对比

代码

以下 5 个函数取自 code/第一批_基础图型261106.py,直接调用即可出图。版式(宋体 + Times、10 磅、刻度朝内四边、图内无标题、留白自检)由 code/公共配置261106.py 的 setup_cn_style() 与 save() 统一提供。

# 摘自 code/第一批_基础图型261106.py

def bar_01():
    """母线电压各次谐波含有率。"""
    fig, ax = new_fig()
    h = [1, 3, 5, 7, 9, 11, 13, 15]
    u = [100, 3.8, 5.2, 3.1, 1.6, 1.1, 0.7, 0.4]
    bars = ax.bar(range(len(h)), u, width=0.62, color=C1, edgecolor="0.35", linewidth=0.5)
    for b, v in zip(bars, u):
        ax.text(b.get_x() + b.get_width() / 2, v + 1.6, f"{v:g}", ha="center",
                va="bottom", fontsize=FS - 2)
    ax.set_xticks(range(len(h)))
    ax.set_xticklabels([f"{i}" for i in h])
    ax.set_xlabel("谐波次数 " + IT["h"])
    ax.set_ylabel("电压含有率 / %")
    ax.set_ylim(0, 118)
    save(fig, "03_柱状", "03_柱状_电压谐波含有率")

def bar_02():
    """分时段用电量统计(纵向柱,峰值时段高亮)。"""
    fig, ax = new_fig()
    seg = ["0-4", "4-8", "8-12", "12-16", "16-20", "20-24"]
    e = [86, 152, 268, 234, 291, 140]
    cols = [C5] * 6
    cols[4] = C2
    bars = ax.bar(range(len(seg)), e, width=0.62, color=cols, edgecolor="0.35",
                  linewidth=0.5)
    for b, v in zip(bars, e):
        ax.text(b.get_x() + b.get_width() / 2, v + 6, f"{v}", ha="center",
                va="bottom", fontsize=FS - 2)
    ax.set_xticks(range(len(seg)))
    ax.set_xticklabels([s + " 时" for s in seg])
    ax.set_xlabel("时段")
    ax.set_ylabel("用电量 " + IT["E"] + " / (MW·h)")
    ax.set_ylim(0, 350)
    save(fig, "03_柱状", "03_柱状_分时段用电量")

def bar_03():
    """各支路电流有效值对比。"""
    fig, ax = new_fig()
    br = ["L1", "L2", "L3", "L4", "L5", "L6"]
    a = [312, 268, 401, 175, 356, 224]
    b = [298, 251, 388, 180, 340, 231]
    x = np.arange(len(br))
    ax.bar(x - 0.19, a, width=0.36, color=C1, edgecolor="0.35", linewidth=0.5,
           label="改造前")
    ax.bar(x + 0.19, b, width=0.36, color=C3, edgecolor="0.35", linewidth=0.5,
           label="改造后")
    ax.set_xticks(x)
    ax.set_xticklabels(br)
    ax.set_xlabel("支路")
    ax.set_ylabel("电流有效值 " + IT["I"] + " / A")
    ax.set_ylim(0, 470)
    legend(ax, "upper right", ncol=2)
    save(fig, "03_柱状", "03_柱状_各支路电流对比")

def bar_04():
    """全年各月发电量。"""
    fig, ax = new_fig()
    m = np.arange(1, 13)
    gen = [182, 196, 264, 318, 402, 438, 486, 472, 388, 296, 214, 178]
    cols = [C5 if v < 300 else C1 for v in gen]
    bars = ax.bar(m, gen, width=0.66, color=cols, edgecolor="0.35", linewidth=0.5)
    ax.plot(m, np.full_like(m, np.mean(gen), dtype=float), color=C2, ls="--", lw=1.0,
            label="年平均 " + f"{np.mean(gen):.0f}")
    for b, v in zip(bars, gen):
        if v == max(gen):
            ax.text(b.get_x() + b.get_width() / 2, v + 8, f"{v}", ha="center",
                    va="bottom", fontsize=FS - 2)
    ax.set_xticks(m)
    ax.set_xticklabels([f"{i}" for i in m])
    ax.set_xlabel("月份")
    ax.set_ylabel("发电量 " + IT["E"] + " / (GW·h)")
    ax.set_ylim(120, 560)
    legend(ax, "upper left", ncol=1)
    save(fig, "03_柱状", "03_柱状_全年各月发电量")

def bar_05():
    """三种降损方案的年线损对比。"""
    fig, ax = new_fig()
    plan = ["方案一", "方案二", "方案三"]
    before = [4.62, 4.62, 4.62]
    after = [3.71, 3.24, 2.86]
    x = np.arange(len(plan))
    ax.bar(x - 0.18, before, width=0.34, color=C6, edgecolor="0.35", linewidth=0.5,
           label="改造前")
    ax.bar(x + 0.18, after, width=0.34, color=C1, edgecolor="0.35", linewidth=0.5,
           label="改造后")
    for xi, v in zip(x + 0.18, after):
        ax.text(xi, v + 0.12, f"{v:.2f}", ha="center", va="bottom", fontsize=FS - 2)
    ax.set_xticks(x)
    ax.set_xticklabels(plan)
    ax.set_xlabel("降损方案")
    ax.set_ylabel("年线损率 / %")
    ax.set_ylim(0, 5.6)
    legend(ax, "upper right", ncol=1)
    save(fig, "03_柱状", "03_柱状_三方案年线损对比")

说明

  • 图片 1181×944 px(100 mm × 80 mm @ 300 dpi),三维图为 1181×1122 px。
  • 图内不放标题,图题由本文件的标题承担。
  • 数据为 10 kV 配网、380 V 低压、50 Hz 量级的仿真算例,随机种子固定,重跑结果一致。
posted on 2026-11-07 01:02  小青蛙电气  阅读(3)  评论(0)    收藏  举报