首页 > 编程笔记 > MATLAB笔记 阅读:2

MATLAB pie()和pie3():创建饼图(附带实例)

在 MATLAB 中,利用函数 pie() 可以创建饼图,其调用格式如下:
pie(X)    % 使用 X 中的数据绘制饼图。饼图的每个扇区代表 X 中的一个元素
          % sum(X) ≤ 1,用 X 中的值直接指定饼图扇区的面积;
          % sum(X) < 1  仅绘制部分饼图;
          % sum(X) > 1  通过 X/sum(X) 对值进行归一化,以确定饼图的每个扇区的面积。
          % 若 X 为类别数据类型,则扇区对应于类别,面积是类别中元素数除以
          % X 中元素数得到的值。
pie(X,explode)   % 将扇区偏移一定位置。若 X 为类别数据类型,则 explode
                 % 可以是由对应于类别的零值和非零值组成的向量,或是由要偏移的类别名称
                 % 组成的元胞数组。
pie(X,labels)    % 指定用于标注饼图扇区的选项,X 必须为数值。
pie(X,explode,labels)   % 偏移扇区并指定文本标签,X 可以为数值或分类数据。

【实例】创建饼图。在编辑器中编写以下程序并运行:
subplot(2,3,1)
X = [1 3 0.5 2.5 2];
pie(X)                       % 创建常规饼图

subplot(2,3,2)
explode = [1 0 1 0 0];       % 偏移第二和第四块饼图扇区
pie(X,explode)               % 创建带偏移扇区的饼图

subplot(2,3,3)
labels = {'Taxes','Expenses','Profit','Cashflow','Loss'};  % 指定文本标签
pie(X,labels)                % 创建带标签的饼图

subplot(2,3,4)
pie(X,'%.2f%%')              % 指定格式表达式以使每个标签显示小数点后 2 位数

subplot(2,3,5)
X = [0.19 0.22 0.41 0.10];  % 创建各个元素之和小于 1 的向量 X
pie(X)                       % 绘制部分饼图

subplot(2,3,6)
X = categorical({'North','South','North','East','South','West'});
explode = 'East';
pie(X,explode)               % 绘制带偏移扇区的分类饼图
运行程序后,输出如下图所示图形:


图 1 饼图

MATLAB pie3()三维饼图

在 MATLAB 中,利用函数 pie3() 可以绘制三维饼图,其用法和 pie() 函数的用法类似,其功能是以三维饼图形式显示各组分所占比例。
pie3(X)     % 使用 X 中的数据绘制三维饼图。X 中的每个元素表示饼图中的一个扇区
            % sum(X) ≤ 1,则 X 中的值直接指定饼图切片的面积;
            % sum(X) > 1,则绘制部分饼图;
            % 若 X 中元素的总和大于 1,则通过 X/sum(X) 将值归一化来确定每个扇区的面积。
pie3(X,explode)  % 指定是否从饼图中心将扇区偏移一定位置
                 % 若 explode(i,j) 非零,则从饼图中心偏移 X(i,j)
pie3(...,labels) % 添加扇区的文本标签,标签数必须等于 X 中的元素数

【实例】三维饼图绘制示例。在编辑器中编写以下程序并运行。
clear, clf
x = [32 45 11 76 56];
explode = [0 0 1 0 1];
labels = {'A','B','C','D','E'};

subplot(1,3,1); pie3(x);
title('默认饼图')

subplot(1,3,2); pie3(x,explode);
title('扇区偏移')

subplot(1,3,3); pie3(x,labels);
title('添加扇区标签')
运行程序后,输出如下图所示图形:


图 2 三维饼图

相关文章