MATLAB pie()函数:绘制饼状图(附带实例)
饼图用来显示向量或矩阵中各元素所占的比率,它可以用在一些统计数据的可视化中。
MATLAB 中在二维情况下,创建饼图的函数是 pie();在三维情况下,创建饼图的函数是 pie3(),二者的调用格式非常相似,因此我们只给出 pie() 函数的调用格式及说明,如下表所示。
【实例 1】对于如下矩阵:
抽取它的第一列绘制完整的饼图、分离的饼图。MATLAB 程序如下:

图 1 饼图
【实例 2】绘制矩阵的完整饼图、部分饼图。MATLAB 程序如下:

图 2 饼图显示
MATLAB 中在二维情况下,创建饼图的函数是 pie();在三维情况下,创建饼图的函数是 pie3(),二者的调用格式非常相似,因此我们只给出 pie() 函数的调用格式及说明,如下表所示。
| 调用格式 | 说明 |
|---|---|
| pie(X) | 用 X 中的数据画一张饼图,X 中的每一元素代表饼图中的一部分,X 中的每一个元素所代表的扇形大小通过 X(i)/sum(X) 的大小来决定。若 sum(X)≤1,则 X 中元素的值就直接指定了饼图扇区的面积。若 sum(X)<1,则画出一张不完整的饼图。 |
| pie(X,explode) | 将扇区从饼图偏移一定位置。explode 是一个与 X 同维的矩阵,当所有元素为零时,饼图的各个部分将连在一起组成一个圆,而其中存在非零元时,X 中相对应的元素在饼图中对应的扇区将向外移出一些来加以突出。 |
| pie(X,labels) | 指定扇区的文本标签。X 必须是数值数据类型。标签数必须等于 X 中的元素数。 |
| pie(X,explode,labels) | 偏移扇区并指定文本标签。X 可以是数值数据或分类数据类型。为数值数据类型时,标签数必须等于 X 中的元素数;为分类数据类型时,标签数必须等于分类数。 |
| pie(ax,...) | 将图形绘制到 ax 指定的坐标区中,而不是当前坐标区(gca)中。 |
| p = pie(...) | 返回一个由补片和文本图形对象组成的向量。 |
【实例 1】对于如下矩阵:

抽取它的第一列绘制完整的饼图、分离的饼图。MATLAB 程序如下:
>> close all % 关闭当前已打开的文件
>> clear % 清除工作区的变量
>> Y=[45 6 8;7 4 7;6 25 4;7 5 8;9 9 4;2 6 8]; % 输入矩阵Y
>> Y=Y(:,1)' % 抽取矩阵Y的第一列
Y =
45 7 6 7 9 2
>> subplot(1,3,1) % 将视图分割为1×3的窗口,显示视图1
>> pie(Y) % 绘制完整饼图
>> title('二维饼图') % 添加标题
>> subplot(1,3,2) % 将视图分割为1×3的窗口,显示视图2
>> pie(Y,[1 1 1 1 1 1]) % 偏移抽取的列元素对应的扇区
>> title('分离二维饼图') % 添加标题
>> subplot(1,3,3) % 将视图分割为1×3的窗口,显示视图3
>> p=pie(Y); % 绘制饼图,并返回饼图中由补片和文本图形对象组成的向量
>> t = p(4); % 获取饼图的第4个标签句柄
>> t.BackgroundColor = 'cyan'; % 设置标签背景底色
>> t.EdgeColor = 'red'; % 设置标签的轮廓颜色
>> t.FontSize = 14; % 设置标签的字体大小
>> title('设置标签样式的二维饼形图') %添加标题
运行结果如下图所示:
图 1 饼图
【实例 2】绘制矩阵的完整饼图、部分饼图。MATLAB 程序如下:
>> close all % 关闭当前已打开的文件
>> clear % 清除工作区的变量
>> X=[0.1 0.2 0.3 0.4]; % 创建向量X
>> Y=X(2:4); % 抽取向量X的第2~4个元素
>> labels = {'1','2','3','4'}; % 定义饼图标签
>> labels1 = {'1','2','3'}; % 定义分割饼图标签
>> ax1 =subplot(1,2,1); % 创建一个坐标区对象ax1,便于修改坐标区
% 将坐标区对象ax1指定为绘图函数的输入,在特定的子图中绘制带指定标签的饼图
>> pie(ax1,X,labels)
>> title(ax1,'完整'); % 添加标题
>> ax2 =subplot(1,2,2); % 创建一个坐标区对象ax2
% 将坐标区对象ax1指定为绘图函数的输入,在特定的子图中绘制带指定标签的分离饼图
>> pie(ax2,Y,labels1)
>> title(ax2,'部分'); % 添加标题
运行结果如下图所示:
图 2 饼图显示
ICP备案:
公安联网备案: