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。
- 图内不放标题,图题由本文件的二级/三级标题承担。
- 数据为贴近广东实际量级的仿真算例,随机种子固定,重跑结果一致。

浙公网安备 33010602011771号