三维饼图(`pie3`)

三维饼图(pie3)

02_柱与散点 5 张 MATLAB R2023b 100 mm 宽 @ 300 dpi

这个方法适合什么

pie 的立体版本,视觉上更突出但读数精度下降。适合:汇报场合的构成展示,正式论文优先用 pie 或 bar。

电气场景

1 用电构成三维饼图

2 线损构成三维饼图

3 成本构成三维饼图

4 停电原因三维饼图

5 谐波源构成三维饼图

代码

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

if any(SEL==9)
    % ---- 9.1 用电构成 ----
    X  = [152.4 98.6 71.2 20.8];
    nm = {'工业','商业','居民','农业'};
    f  = ml_fig(PP,100,80);
    ax = axes('Parent',f,'Position',[0.085 0.030 0.830 0.930]);
    hp = pie3(ax,X,zeros(1,4),ml_tx(cellfun(@(s,v) sprintf('%s %.1f%%',s,v), ...
         nm,num2cell(X/sum(X)*100),'UniformOutput',false)));
    style_pie3(hp,PP);
    save_png(f,FIGD,'用电构成三维饼图');

    % ---- 9.2 线损构成 ----
    X  = [58.6 24.2 10.8 6.4];
    nm = {'导线损耗','变压器损耗','计量误差','管理线损'};
    f  = ml_fig(PP,100,80);
    ax = axes('Parent',f,'Position',[0.085 0.030 0.830 0.930]);
    hp = pie3(ax,X,[0 0 0 0.10],ml_tx(cellfun(@(s,v) sprintf('%s %.1f%%',s,v), ...
         nm,num2cell(X/sum(X)*100),'UniformOutput',false)));
    style_pie3(hp,PP);
    save_png(f,FIGD,'线损构成三维饼图');

    % ---- 9.3 成本构成 ----
    X  = [52.4 26.8 12.6 8.2];
    nm = {'设备','安装','运维','财务'};
    f  = ml_fig(PP,100,80);
    ax = axes('Parent',f,'Position',[0.085 0.030 0.830 0.930]);
    hp = pie3(ax,X,zeros(1,4),ml_tx(cellfun(@(s,v) sprintf('%s %.1f%%',s,v), ...
         nm,num2cell(X/sum(X)*100),'UniformOutput',false)));
    style_pie3(hp,PP);
    save_png(f,FIGD,'成本构成三维饼图');

    % ---- 9.4 停电原因 ----
    X  = [41.2 23.6 20.8 10.4];
    nm = {'设备故障','外力破坏','计划检修','自然因素'};
    f  = ml_fig(PP,100,80);
    ax = axes('Parent',f,'Position',[0.085 0.030 0.830 0.930]);
    hp = pie3(ax,X,zeros(1,4),ml_tx(cellfun(@(s,v) sprintf('%s %.1f%%',s,v), ...
         nm,num2cell(X/sum(X)*100),'UniformOutput',false)));
    style_pie3(hp,PP);
    save_png(f,FIGD,'停电原因三维饼图');

    % ---- 9.5 谐波源构成 ----
    X  = [46.2 26.4 14.8 8.2];
    nm = {'整流设备','变频装置','电弧炉','非线性照明'};
    f  = ml_fig(PP,100,80);
    ax = axes('Parent',f,'Position',[0.085 0.030 0.830 0.930]);
    hp = pie3(ax,X,zeros(1,4),ml_tx(cellfun(@(s,v) sprintf('%s %.1f%%',s,v), ...
         nm,num2cell(X/sum(X)*100),'UniformOutput',false)));
    style_pie3(hp,PP);
    save_png(f,FIGD,'谐波源构成三维饼图');
end
posted @ 2026-11-09 00:04  小青蛙电气  阅读(3)  评论(0)    收藏  举报