MATLAB pie()和pie3():创建饼图(附带实例)
在 MATLAB 中,利用函数 pie() 可以创建饼图,其调用格式如下:
【实例】创建饼图。在编辑器中编写以下程序并运行:

图 1 饼图
【实例】三维饼图绘制示例。在编辑器中编写以下程序并运行。

图 2 三维饼图
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 三维饼图