matlab使用教程(47)—绘制饼图(扇形图)

本文介绍了如何使用MATLAB创建饼图,包括自动偏移占比最大的扇区,添加图例以显示产品说明,以及自定义文本标签和百分比。通过实例展示了如何处理销售数据并呈现清晰的可视化效果。
摘要由CSDN通过智能技术生成

1.偏移占比最大的饼图扇区

        此示例演示如何创建饼图并自动偏移占比最大的饼图扇区。
        建立一个三列数组 X ,每一列包含一个特定产品为期 5 年的年销售数据。
X = [19.3, 22.1, 51.6
34.2, 70.3, 82.4
61.4, 82.9, 90.8
50.5, 54.9, 59.1
29.4, 36.3, 47.0];
        通过对每列求和计算出每个产品 5 年的总销售额。将结果保存到 product_totals
product_totals = sum(X);
        使用 max 函数找出 product_totals 中的最大元素并返回该元素的索引 ind
[c,ind] = max(product_totals);
        使用 pie 函数的输入参数 explode 偏移一个饼图扇区。 explode 参数是一个由零和非零值组成的向量,其中非零值表示要偏移的扇区。将 explode 初始化为一个由零组成的三元素向量。
explode = zeros(1,3);
        使用 product_totals 中最大元素的索引将对应的 explode 元素设为 1。
explode(ind) = 1;
        创建包含每个产品销售总额的饼图,并偏移具有最大销售总额的产品所在的饼图扇区。
figure
pie(product_totals,explode)
title('Sales Contributions of Three Products')

2.向饼图添加图例

        此示例演示如何向饼图添加显示每个扇区说明的图例。 定义 x 并创建一个饼图。 
x = [1,2,3];
figure
pie(x)

        在元胞数组 labels 中指定每个饼图扇区的说明。按照您在 x 中指定数据的顺序指定说明。
labels = {'Product A','Product B','Product C'};
        在饼图下方显示水平图例。将包含在 labels 中的说明传递给 legend 函数。将图例的 Location 属性设置为 'southoutside' ,并将其 Orientation 属性设置为 'horizontal'
legend(labels,'Location','southoutside','Orientation','horizontal')

3.为饼图添加文本和百分比标签

        创建饼图时,MATLAB 会用各个扇区在整个饼图中所占的百分比来标记每个扇区。您可以更改标签以显示不同的文本。

3.1简单的文本标签

        创建带有简单文本标签的饼图。
x = [1,2,3];
pie(x,{'Item A','Item B','Item C'})

3.2带百分比和文本的标签

        创建带有标签的饼图,标签上包含每个扇区的自定义文本和预先计算的百分比值。创建饼图并指定输出参数 p,以包含由 pie 函数创建的文本和补片对象。 pie 函数为每个饼图扇区创建一
个文本对象和一个补片对象。
x = [1,2,3];
p = pie(x);
        从文本对象的 String 属性获取每个饼图扇区的占比百分比值。然后,在元胞数组 txt 中指定所需的文本。将此文本与元胞数组 combinedtxt 中的相应百分比值串联起来。
pText = findobj(p,'Type','text');
percentValues = get(pText,'String');
txt = {'Item A: ';'Item B: ';'Item C: '};
combinedtxt = strcat(txt,percentValues);
        通过将文本对象的 String 属性设置为 combinedtxt 来更改标签。
pText(1).String = combinedtxt(1);
pText(2).String = combinedtxt(2);
pText(3).String = combinedtxt(3);

  • 4
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

配电网和matlab

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值