面积图(`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

浙公网安备 33010602011771号