pie
饼图

说明
pie(
使用 X
)X
中的数据绘制饼图。饼图的每个扇区代表 X
中的一个元素。
如果
sum(X) ≤ 1
,X
中的值直接指定饼图扇区的面积。如果sum(X) < 1
,pie
仅绘制部分饼图。如果
sum(X) > 1
,则pie
通过X/sum(X)
对值进行归一化,以确定饼图的每个扇区的面积。如果
X
为categorical
数据类型,则扇区对应于类别。每个扇区的面积是类别中的元素数除以X
中的元素数的结果。
示例
创建带偏移扇区的饼图
创建向量 X
的饼图。
X = [1 3 0.5 2.5 2]; pie(X)
通过将对应的 explode
元素设置为 1 来偏移第二和第四块饼图扇区。
explode = [0 1 0 1 0]; pie(X,explode)
指定饼图的文本标签
修改饼图的文本标签
创建一个标签饼图,然后修改文件标签的颜色和字体大小。
X = 1:3; labels = {'Taxes','Expenses','Profit'}; p = pie(X,labels)
p = 1x6 graphics array: Patch Text Patch Text Patch Text
获取标签“Profit”的文本对象。更改其颜色和字体大小。使用圆点表示法设置属性。
t = p(6); t.BackgroundColor = 'cyan'; t.EdgeColor = 'red'; t.FontSize = 14;
指定百分比标签的格式
绘制部分饼图
比较两个饼图
创建包含两年财务数据的向量 y2010
和 y2011
。然后创建一个包含值标签的元胞数组。
y2010 = [50 0 100 95]; y2011 = [65 22 97 120]; labels = {'Investments','Cash','Operations','Sales'};
创建一个 1×2 分块图布局,并显示两个饼图,每个饼图都有一个标题。然后在布局的东侧图块中显示一个共享图例。为此,请使用返回参数调用 legend
函数来存储图例对象。然后通过将 Layout.Tile
属性设置为 'east'
,将图例移至 east 图块。
t = tiledlayout(1,2,'TileSpacing','compact'); % Create pie charts ax1 = nexttile; pie(ax1,y2010) title('2010') ax2 = nexttile; pie(ax2,y2011) title('2011') % Create legend lgd = legend(labels); lgd.Layout.Tile = 'east';
绘制具有偏移的分类饼图
绘制一个分类饼图,其中的偏移扇区与类别相对应。
X = categorical({'North','South','North','East','South','West'}); explode = {'North','South'}; pie(X,explode)
现在,使用逻辑向量将相同扇区偏移一定位置。
explode = [0 1 1 0]; pie(X,explode)
使用标签绘制分类饼图
绘制一个不包含任何偏移扇区的分类饼图并标记扇区。当 X
为 categorical
数据类型时,必须指定输入参数 explode
。要指定不包含任何偏移扇区的标签,请将 explode
指定为一个空数组,将 labels
指定为标签。
X = categorical({'North','South','North','East','South','West'}); explode = {}; labels = {'E','N','S','W'}; pie(X,explode,labels)
现在,将扇区偏移一定位置并标记所有扇区。
X = categorical({'North','South','North','East','South','West'}); explode = {'West'}; labels = {'E','N','S','W'}; pie(X,explode,labels)
输入参数
X
— 输入数组
向量 | 矩阵
输入向量或矩阵。
如果
X
为数值,则X
中的所有值必须为有限值。如果
X
是分类数组,则pie
将忽略未定义的元素。
数据类型: double|categorical
explode
— 偏移扇区
数值向量或矩阵 | 逻辑向量或矩阵 | 字符串数组 | 字符向量元胞数组
偏移扇区,指定为数值向量或矩阵、逻辑向量或矩阵、字符串数组或字符向量元胞数组。
如果
X
为数值,则explode
必须是逻辑向量或数值向量,或由对应于X
的零或非零值组成的矩阵。一个真(非零)值从饼图中心将相应的扇区偏移一定位置,这样如果explode(i,j)
是非零值,则X(i,j)
将从中心偏移。explode
和X
的大小必须相同。如果
X
是分类数组,则explode
可以是类别名称的字符串数组或元胞数组。pie
偏移对应于explode
中类别的扇区。如果
X
是分类数组,explode
也可以是逻辑向量或数值向量,其中包含与X
中的每个类别对应的元素。pie
函数按类别顺序将对应于 true(非零)的扇区偏移一定的位置。
labels
— 标签选项
'%.0f%%'
(默认) | 文本标签数组 | 格式表达式
标签选项,指定为文本标签数组或格式表达式。使用此参数显示饼图扇区的自定义文本标签,或显示 MATLAB® 以特定格式提供的百分比值。
注意
要在 X
包含分类值时指定标签选项,您必须在标签选项前指定 explode
参数。
显示文本标签
将标签指定为字符向量元胞数组或字符串数组。
当 X
包含数值时,labels
中的元素数必须等于 X
中的元素数。
当 X
包含分类值时,labels
中元素的数量和顺序必须等同于 X
中类别的数量和顺序。要确定类别的数量和顺序,请使用 categories
函数。
以特定格式显示百分比
将格式表达式指定为字符向量或字符串标量。格式表达式以百分比符号 (%
) 开头,后跟一系列标识符。
除转换字符外,所有标识符均为可选项。按以下顺序指定标识符:
一个或多个标志 - 用于显示加号、小数点和调整标签的选项。
加号 (
+
) - 在正值旁边显示加号。井号 (
#
) - 显示小数点,即使精度为0
也是如此,例如'50.'
。减号 (
–
) - 左对齐标签,并用空格填充标签的末尾,而不是在开头用空格填充。
字段宽度 - 标签中要显示的最小字符数。请将字段宽度指定为整数值。如果标签中的位数小于字段宽度,则在标签上用空格填充。
精度 - 小数点右侧的位数。将精度指定为小数点后跟一个整数值。
转换字符 - 定点或指数记数法。有关转换字符的列表,请参阅下表。如果您指定的转换字符不适合数据,MATLAB 将改用
%e
。
转换字符 | 描述 | 示例 |
---|---|---|
f | 定点记数法。精度值指示小数位数。 | '%.4f%%' 将占饼图 6.25% 的扇区的标签显示为 6.2500% 。 |
e | 指数记数法。精度值指示小数位数。 | '%.4e%%' 将占饼图 6.25% 的扇区的标签显示为 6.2500e+00% 。 |
g | 更精简版本的 e 或 f ,不带尾随零。精度值指示最大小数位数。 | '%.4g%%' 将占饼图 6.25% 的扇区的标签显示为 6.25% 。 |
除了上面列出的标识符,您还可以在格式表达式的开头或末尾指定字面文本。要显示单引号,请使用 ''
。要显示百分比符号,请使用 %%
。例如,'%.2f%%'
显示带两个尾部小数位并后跟一个百分比符号的标签。
ax
— 坐标区
坐标区对象
坐标区对象。使用 ax
在特定的坐标区而不是当前坐标区 (gca
) 中绘制该饼图。
扩展功能
tall 数组
对行数太多而无法放入内存的数组进行计算。
GPU 数组
通过使用 Parallel Computing Toolbox™ 在图形处理单元 (GPU) 上运行来加快代码执行。
用法说明和限制:
此函数接受 GPU 数组,但不在 GPU 上运行。
有关详细信息,请参阅Run MATLAB Functions on a GPU (Parallel Computing Toolbox)。
分布式数组
使用 Parallel Computing Toolbox™ 在集群的组合内存中对大型数组进行分区。
用法说明和限制:
此函数在分布式数组上运行,但在客户端 MATLAB 中执行。
有关详细信息,请参阅Run MATLAB Functions with Distributed Arrays (Parallel Computing Toolbox)。
版本历史记录
在 R2006a 之前推出R2019b: 饼图显示零值
当您调用 pie
函数并指定包含零值的数据时,饼图会显示零值和对应的标签。如果您带一个输出参数调用 pie
,输出将包含对应于每个零值的对象。
在以前的版本中,pie
从图中省略零值,并且不返回任何对应于这些值的对象。如果您不想显示零值或返回对应的对象,请从数据中删除零值。
MATLAB 命令
您点击的链接对应于以下 MATLAB 命令:
请在 MATLAB 命令行窗口中直接输入以执行命令。Web 浏览器不支持 MATLAB 命令。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)