33 手绘风 xkcd

33 手绘风 xkcd

用途

卡通手绘线条,适合科普与汇报,不适合正式论文。

示例(5 张)

33-1 手绘风格的日负荷曲线

手绘风格的日负荷曲线

33-2 手绘风格的变压器效率曲线

手绘风格的变压器效率曲线

33-3 手绘风格的谐波柱状分布

手绘风格的谐波柱状分布

33-4 手绘风格的光伏出力曲线

手绘风格的光伏出力曲线

33-5 手绘风格的电压偏差分布

手绘风格的电压偏差分布

代码

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

# 摘自 code/第五批_版式与结构261107.py

def xk_01():
    """手绘风格的日负荷曲线。"""
    plt.rcParams["path.sketch"] = (4.0, 160, 3)
    plt.rcParams["font.family"] = ["Comic Sans MS", "SimSun", "STIXGeneral"]
    fig, ax = new_fig()
    t = np.arange(0, 24.01, 0.5)
    p = 480 + 170 * np.exp(-((t - 10) / 3.4) ** 2) + 210 * np.exp(-((t - 16) / 3.0) ** 2)
    ax.plot(t, p, color=C1, lw=1.4, label="负荷")
    ax.set_xlabel("时间 " + IT["t"] + " / h")
    ax.set_ylabel("有功负荷 " + IT["P"] + " / kW")
    ax.set_xlim(0, 24)
    ax.set_ylim(400, 800)
    legend(ax, "upper left", ncol=1)
    save(fig, "33_手绘风", "33_手绘风_手绘日负荷曲线")
    _restore_font()

def xk_02():
    """手绘风格的变压器效率曲线。"""
    plt.rcParams["path.sketch"] = (4.0, 160, 3)
    plt.rcParams["font.family"] = ["Comic Sans MS", "SimSun", "STIXGeneral"]
    fig, ax = new_fig()
    b = np.linspace(0.05, 1.0, 40)
    eff = 98.6 - 1.6 * (1 - b) ** 1.4 - 0.5 * b ** 3
    ax.plot(b, eff, color=C2, lw=1.4)
    ax.set_xlabel("负载率 " + IT["beta"])
    ax.set_ylabel("效率 " + IT["eta"] + " / %")
    ax.set_xlim(0, 1.05)
    ax.set_ylim(96.6, 98.8)
    save(fig, "33_手绘风", "33_手绘风_手绘效率曲线")
    _restore_font()

def xk_03():
    """手绘风格的谐波柱状分布。"""
    plt.rcParams["path.sketch"] = (4.0, 160, 3)
    plt.rcParams["font.family"] = ["Comic Sans MS", "SimSun", "STIXGeneral"]
    fig, ax = new_fig()
    h = ["3", "5", "7", "9", "11"]
    a = [38.6, 26.4, 15.8, 6.2, 3.4]
    ax.bar(h, a, width=0.6, color=C5, edgecolor="0.3", linewidth=0.6)
    ax.set_xlabel("谐波次数 " + IT["h"])
    ax.set_ylabel("谐波电流幅值 / A")
    ax.set_ylim(0, 46)
    save(fig, "33_手绘风", "33_手绘风_手绘谐波分布")
    _restore_font()

def xk_04():
    """手绘风格的光伏出力曲线。"""
    plt.rcParams["path.sketch"] = (4.0, 160, 3)
    plt.rcParams["font.family"] = ["Comic Sans MS", "SimSun", "STIXGeneral"]
    fig, ax = new_fig()
    t = np.arange(5, 20.01, 0.5)
    p = 900 * np.sin((t - 5) / 15 * np.pi) ** 1.35
    ax.plot(t, p, color=C3, lw=1.4, label="光伏出力")
    ax.fill_between(t, 0, p, color=C3, alpha=0.22, linewidth=0)
    ax.set_xlabel("时间 " + IT["t"] + " / h")
    ax.set_ylabel("有功出力 " + IT["P"] + " / kW")
    ax.set_xlim(5, 20)
    ax.set_ylim(0, 1050)
    legend(ax, "upper left", ncol=1)
    save(fig, "33_手绘风", "33_手绘风_手绘光伏出力")
    _restore_font()

def xk_05():
    """手绘风格的电压偏差分布。"""
    plt.rcParams["path.sketch"] = (4.0, 160, 3)
    plt.rcParams["font.family"] = ["Comic Sans MS", "SimSun", "STIXGeneral"]
    fig, ax = new_fig()
    rng = np.random.default_rng(3305)
    d = rng.normal(0.6, 2.4, 3000)
    ax.hist(d, bins=28, color=C5, edgecolor="0.35", linewidth=0.4, density=True)
    ax.axvline(7, color=C2, lw=0.9, ls="--")
    ax.axvline(-7, color=C2, lw=0.9, ls="--")
    ax.set_xlabel("电压偏差 / %")
    ax.set_ylabel("概率密度")
    ax.set_xlim(-9, 10)
    save(fig, "33_手绘风", "33_手绘风_手绘电压偏差")
    _restore_font()

说明

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