面积图(`area`)

面积图(area)

01_二维线图 5 张 MATLAB R2023b 100 mm 宽 @ 300 dpi

这个方法适合什么

填充曲线与基线之间的面积,强调累计量或吞吐量。适合:累计电量、储能充放电吞吐、分区供电量构成。

电气场景

1 日累计电量

2 储能充放电吞吐量

3 分时用电量构成

4 光伏发电功率

5 无功功率吸收与发出

代码

脚本 p1_line_plots.m 中对应 area 的一段,SEL 用于选择只跑某几个方法。

if any(SEL==7)
    % ---- 7.1 日累计电量 ----
    t  = 0:0.5:24;
    c1 = 190*(t/24);                 % 谷段累计
    c2 = 290*(t/24).^1.25;           % 峰段累计
    f  = ml_fig(PP,100,80);
    ax = axes('Parent',f,'Position',[0.175 0.190 0.770 0.755]);
    A  = area(ax,t,[c1(:) c2(:)]);
    A(1).FaceColor = C(1,:); A(2).FaceColor = C(6,:);
    A(1).FaceAlpha = 0.55;   A(2).FaceAlpha = 0.45;
    A(1).EdgeColor = C(1,:)*0.65; A(2).EdgeColor = C(6,:)*0.65;
    xlabel(ml_tx('时刻 <i>t</i> / h'));
    ylabel(ml_tx('累计电量 <i>W</i> / MWh'));
    xlim(ax,[0 24]); ylim(ax,[0 640]);
    lg = legend(ax,A,ml_tx({'谷段电量','峰段电量'}),'Location','northwest');
    ml_style_legend(lg,PP);
    save_png(f,FIGD,'日累计电量');

    % ---- 7.2 储能充放电吞吐量 ----
    t  = 0:0.5:24;
    ch = 12.5*t;                     % 累计充电量
    dc = 9.8*t;                      % 累计放电量
    f  = ml_fig(PP,100,80);
    ax = axes('Parent',f,'Position',[0.175 0.190 0.770 0.755]);
    A1 = area(ax,t, ch);
    A1.FaceColor = C(1,:); A1.FaceAlpha = 0.45; A1.EdgeColor = C(1,:)*0.65;
    hold(ax,'on');
    A2 = area(ax,t,-dc);
    A2.FaceColor = C(2,:); A2.FaceAlpha = 0.45; A2.EdgeColor = C(2,:)*0.65;
    plot(ax,[0 24],[0 0],'Color',[0.5 0.5 0.5],'LineWidth',0.6);
    xlabel(ml_tx('时刻 <i>t</i> / h'));
    ylabel(ml_tx('累计吞吐量 <i>W</i> / MWh'));
    xlim(ax,[0 24]); ylim(ax,[-340 340]);
    lg = legend(ax,[A1 A2],ml_tx({'累计充电','累计放电'}),'Location','northwest');
    ml_style_legend(lg,PP);
    save_png(f,FIGD,'储能充放电吞吐量');

    % ---- 7.3 分时用电量构成 ----
    t  = 0:0.5:24;
    y1 = 14 + 5.5*exp(-((t-10)/2.8).^2) + 4.0*exp(-((t-15.5)/3.2).^2);
    y2 =  6 + 3.2*exp(-((t-9)/2.2).^2)  + 3.6*exp(-((t-20)/2.4).^2);
    y3 =  3 + 2.4*exp(-((t-7)/1.6).^2)  + 3.0*exp(-((t-21)/2.2).^2);
    f  = ml_fig(PP,100,80);
    ax = axes('Parent',f,'Position',[0.175 0.190 0.770 0.755]);
    A  = area(ax,t,[y1(:) y2(:) y3(:)]);
    A(1).FaceColor = C(1,:); A(2).FaceColor = C(2,:); A(3).FaceColor = C(3,:);
    A(1).FaceAlpha = 0.55;   A(2).FaceAlpha = 0.50;   A(3).FaceAlpha = 0.45;
    for ii = 1:3, A(ii).EdgeColor = A(ii).FaceColor*0.6; end
    xlabel(ml_tx('时刻 <i>t</i> / h'));
    ylabel(ml_tx('用电功率 <i>P</i> / MW'));
    xlim(ax,[0 24]); ylim(ax,[0 42]);
    lg = legend(ax,A,ml_tx({'工业','商业','居民'}),'Location','northeast');
    ml_style_legend(lg,PP);
    save_png(f,FIGD,'分时用电量构成');

    % ---- 7.4 光伏发电功率 ----
    t  = 5:0.25:19;
    Pt = 8.6*sin(pi*(t-5)/14);
    Pa = Pt.*(0.88 + 0.10*sin(2*pi*(t-5)/3.1));
    f  = ml_fig(PP,100,80);
    ax = axes('Parent',f,'Position',[0.175 0.190 0.770 0.755]);
    A1 = area(ax,t,Pt); A1.FaceColor = C(6,:); A1.FaceAlpha = 0.30; A1.EdgeColor = C(6,:)*0.65;
    hold(ax,'on');
    A2 = area(ax,t,Pa); A2.FaceColor = C(1,:); A2.FaceAlpha = 0.45; A2.EdgeColor = C(1,:)*0.65;
    xlabel(ml_tx('时刻 <i>t</i> / h'));
    ylabel(ml_tx('有功出力 <i>P</i> / MW'));
    xlim(ax,[5 19]); ylim(ax,[0 11.5]);
    lg = legend(ax,[A1 A2],ml_tx({'理论出力','实际出力'}),'Location','northeast');
    ml_style_legend(lg,PP);
    save_png(f,FIGD,'光伏发电功率');

    % ---- 7.5 无功功率吸收与发出 ----
    t  = 0:0.25:24;
    qa = 6*exp(-((t-11)/3.0).^2) + 3*exp(-((t-16)/2.4).^2);
    qg = -(5*exp(-((t-3)/3.0).^2) + 3.2*exp(-((t-21)/2.4).^2));
    f  = ml_fig(PP,100,80);
    ax = axes('Parent',f,'Position',[0.175 0.190 0.770 0.755]);
    A1 = area(ax,t,qa); A1.FaceColor = C(2,:); A1.FaceAlpha = 0.45; A1.EdgeColor = C(2,:)*0.65;
    hold(ax,'on');
    A2 = area(ax,t,qg); A2.FaceColor = C(5,:); A2.FaceAlpha = 0.45; A2.EdgeColor = C(5,:)*0.65;
    plot(ax,[0 24],[0 0],'Color',[0.5 0.5 0.5],'LineWidth',0.6);
    xlabel(ml_tx('时刻 <i>t</i> / h'));
    ylabel(ml_tx('无功功率 <i>Q</i> / Mvar'));
    xlim(ax,[0 24]); ylim(ax,[-9.5 13]);
    lg = legend(ax,[A1 A2],ml_tx({'感性吸收','容性发出'}),'Location','northeast');
    ml_style_legend(lg,PP);
    save_png(f,FIGD,'无功功率吸收与发出');
end
posted @ 2026-11-09 00:03  小青蛙电气  阅读(3)  评论(0)    收藏  举报