01 折线图 plot

用途

时序趋势的标准画法,电压、电流、负荷、出力随时间变化都用它,是电气最基础的一张图。

示例(5 张)

01-1 母线电压日曲线:三条馈线 24 h 电压

母线电压日曲线:三条馈线 24 h 电压

01-2 馈线短路故障三相电流录波

馈线短路故障三相电流录波

01-3 典型日负荷曲线:工作日、周末、节假日

典型日负荷曲线:工作日、周末、节假日

01-4 光伏电站日出力:晴、多云、阴三种天气

光伏电站日出力:晴、多云、阴三种天气

01-5 储能电站日充放电功率(正为放电、负为充电)

储能电站日充放电功率(正为放电、负为充电)

代码

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

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

def line_01():
    """母线电压日曲线:三条馈线 24 h 电压。"""
    fig, ax = new_fig()
    t = np.arange(0, 24.01, 0.5)
    u1 = 10.15 + 0.16 * np.sin((t - 6) / 24 * 2 * np.pi) + 0.02 * np.cos(t)
    u2 = 10.02 + 0.11 * np.sin((t - 5) / 24 * 2 * np.pi)
    u3 = 9.93 + 0.09 * np.sin((t - 7) / 24 * 2 * np.pi) - 0.02 * np.cos(t / 2)
    for i, (y, nm) in enumerate([(u1, "Ⅰ 段母线"), (u2, "Ⅱ 段母线"), (u3, "Ⅲ 段母线")]):
        ax.plot(t, y, color=COLORS[i], ls=LINES[i], marker=MARKERS[i],
                markevery=6, ms=3, lw=1.0, label=nm)
    ax.set_xlabel("时间 " + IT["t"] + " / h")
    ax.set_ylabel("母线电压 " + IT["U"] + " / kV")
    ax.set_xlim(0, 24)
    ax.set_ylim(9.74, 10.66)
    legend(ax, "upper center", ncol=3)
    save(fig, "01_折线", "01_折线_母线电压日曲线")

def line_02():
    """馈线短路故障三相电流录波。"""
    fig, ax = new_fig()
    t = np.linspace(0, 100, 600)
    base = 380 * np.sin(2 * np.pi * 50 * t / 1000)
    for i in range(3):
        sig = base.copy()
        mask = t > 40
        sig[mask] = 380 * 2.8 * np.sin(2 * np.pi * 50 * t[mask] / 1000 - i * 2.09) \
            * np.exp(-(t[mask] - 40) / 55)
        ax.plot(t, sig, color=COLORS[i], ls=LINES[i], lw=1.0, label=f"{'ABC'[i]} 相")
    ax.axvline(40, color=C4, lw=0.5, ls=":", label="故障时刻")
    ax.set_xlabel("时间 " + IT["t"] + " / ms")
    ax.set_ylabel("相电流 " + IT["I"] + " / A")
    ax.set_xlim(0, 100)
    ax.set_ylim(-1450, 2100)
    legend(ax, "upper center", ncol=2)
    save(fig, "01_折线", "01_折线_馈线故障电流录波")

def line_03():
    """典型日负荷曲线:工作日、周末、节假日。"""
    fig, ax = new_fig()
    t = np.arange(0, 24.01, 1.0)
    work = 520 + 190 * np.exp(-((t - 10) / 3.2) ** 2) + 240 * np.exp(-((t - 15) / 2.6) ** 2)
    week = 430 + 110 * np.exp(-((t - 11) / 3.6) ** 2) + 130 * np.exp(-((t - 16) / 3.0) ** 2)
    holi = 360 + 70 * np.exp(-((t - 12) / 4.2) ** 2) + 60 * np.exp(-((t - 18) / 3.4) ** 2)
    for i, (y, nm) in enumerate([(work, "工作日"), (week, "周末"), (holi, "节假日")]):
        ax.plot(t, y, color=COLORS[i], ls=LINES[i], marker=MARKERS[i],
                markevery=3, ms=3, lw=1.0, label=nm)
    ax.set_xlabel("时间 " + IT["t"] + " / h")
    ax.set_ylabel("有功负荷 " + IT["P"] + " / kW")
    ax.set_xlim(0, 24)
    ax.set_ylim(300, 900)
    legend(ax, "upper center", ncol=3)
    save(fig, "01_折线", "01_折线_典型日负荷曲线")

def line_04():
    """光伏电站日出力:晴、多云、阴三种天气。"""
    fig, ax = new_fig()
    t = np.arange(5, 20.01, 0.5)
    clear = 1000 * np.sin((t - 5) / 15 * np.pi) ** 1.35
    cloud = clear * (0.55 + 0.35 * np.sin(t * 1.3))
    over = clear * 0.22
    for i, (y, nm) in enumerate([(clear, "晴天"), (cloud, "多云"), (over, "阴天")]):
        ax.plot(t, y, color=COLORS[i], ls=LINES[i], marker=MARKERS[i],
                markevery=4, ms=3, lw=1.0, label=nm)
    ax.set_xlabel("时间 " + IT["t"] + " / h")
    ax.set_ylabel("有功出力 " + IT["P"] + " / kW")
    ax.set_xlim(5, 20)
    ax.set_ylim(-60, 1300)
    legend(ax, "upper center", ncol=3)
    save(fig, "01_折线", "01_折线_光伏电站日出力")

def line_05():
    """储能电站日充放电功率(正为放电、负为充电)。"""
    fig, ax = new_fig()
    t = np.arange(0, 24.01, 0.5)
    p = np.where((t >= 1) & (t < 7), -180, 0) + np.where((t >= 18) & (t < 22), 150, 0)
    p = p + 12 * np.sin(t / 2)
    ax.plot(t, p, color=C1, lw=1.0, marker="o", markevery=6, ms=3, label="储能功率")
    ax.axhline(0, color=C4, lw=0.5)
    ax.fill_between(t, p, 0, where=p > 0, color=C3, alpha=0.35, linewidth=0, label="放电")
    ax.fill_between(t, p, 0, where=p < 0, color=C5, alpha=0.45, linewidth=0, label="充电")
    ax.set_xlabel("时间 " + IT["t"] + " / h")
    ax.set_ylabel("有功功率 " + IT["P"] + " / kW")
    ax.set_xlim(0, 24)
    ax.set_ylim(-250, 290)
    legend(ax, "upper center", ncol=3)
    save(fig, "01_折线", "01_折线_储能日充放电功率")

说明

  • 图片 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  小青蛙电气  阅读(2)  评论(0)    收藏  举报