piechart

语法
说明
表数据
piechart( 指定分类变量 tbl,categoricalvar)categoricalvar。一个类别的实例数量确定对应扇区的大小,每个扇区标签包含对应的类别名称。
其他选项
piechart( 在指定的父容器中创建饼图。父容器通常是图窗、面板或选项卡。指定 parent,___)parent 作为上述任何语法中的第一个参量。
piechart(___, 使用一个或多个名称-值参量指定图的属性。在所有其他输入参量之后指定名称-值参量。例如,Name=Value)piechart([1 2 3],ExplodedWedges=2) 创建第二个扇区偏移的饼图。
有关属性列表,请参阅 PieChart Properties。
返回 p = piechart(___)PieChart 对象。在创建图后,使用 p 设置其属性。有关属性列表,请参阅 PieChart Properties。
示例
根据分类向量创建一个饼图。piechart 函数对每个类别的实例数量进行计数,以确定每个扇区的大小。
通过调用 reordercats 函数控制扇区的顺序。
flavors = categorical(["Banana Cream","Pumpkin","Pumpkin","MATLAB","Blackberry"]); flavors = reordercats(flavors,["MATLAB","Pumpkin","Banana Cream","Blackberry"]); piechart(flavors)

创建一个表,其中包含馅饼竞赛中烘焙师的姓名以及对应的得票数。
Bakers = ["Betty";"Abby";"Afiq";"Ravi";"Dave"]; Votes = [2; 5; 5; 2; 5]; tbl = table(Bakers,Votes)
tbl=5×2 table
Bakers Votes
_______ _____
"Betty" 2
"Abby" 5
"Afiq" 5
"Ravi" 2
"Dave" 5
根据该表创建一个饼图。
piechart(tbl,"Votes","Bakers")

您可以通过设置属性来指定旋转方向并沿圆移动所有扇区。您可以在调用 piechart 函数时通过指定名称-值参量来设置属性,也可以稍后设置 PieChart 对象的属性。
创建一个名为 data 的向量,并用它创建一个饼图。默认情况下,扇区按顺时针方向出现,第一个(蓝色)扇区的左边位于 0 度(12 点钟方向)。
data = [1 2 3 4]; piechart(data)

创建另一个饼图,但这次通过将 Direction 属性指定为名称-值参量将该属性设置为 "counterclockwise"。带一个输出参量调用 piechart 函数以存储 PieChart 对象。
p = piechart(data,Direction="counterclockwise");
通过将 PieChart 对象的 StartAngle 属性设置为 -90,将扇区逆时针方向移位 90 度。
p.StartAngle = -90;

您可以通过设置 LabelStyle 属性,将扇区标签从百分比更改为计数。LabelStyle 属性具有用于显示扇区名称、数据值和百分比的不同组合的选项。
根据数值向量和名称向量创建一个饼图。指定输出参量以存储 PieChart 对象。然后将标签更改为包含数据值而不是百分比。
data = [1 2 3]; names = ["Blueberry","Pumpkin","Lemon"]; p = piechart(data,names); p.LabelStyle = "namedata";

另一个选项是仅显示名称,不显示任何数据或百分比值。
p.LabelStyle="name";
创建一个饼图,显示烘焙销售中每个参与者的销售额占总销售额的百分比。使用输出参量调用 piechart 函数以存储 PieChart 对象,以便稍后更改图的各个方面。
Bakers = ["Betty","Abby","Afiq","Ravi","Dave"]; Sales = [20 51.55 49.37 20.35 48.25]; p = piechart(Sales,Bakers);

查询 PieChart 对象的扇区名称。
p.Names
ans = 1×5 string
"Betty" "Abby" "Afiq" "Ravi" "Dave"
将扇区名称更改为馅饼口味。
p.Names = ["Blueberry","Pumpkin","Banana Cream","Blackberry","Key Lime"];

将每个标签显示为两行文本,第一行为馅饼口味,第二行为销售额。要组合每个标签的不同元素,请从 Names 属性开始,并添加换行符、美元符号和 Sales 向量(转换为字符串)。
p.Labels = p.Names + "\newline$" + string(Sales);
您可以使用 colororder 函数更改饼图的颜色。例如,创建一个具有默认颜色的饼图。
piechart([1 2 3 4])

您可以从几个命名的调色板中进行选择,包括 gem(默认值)、glow、sail、reef、meadow、dye 和 earth。将调色板更改为 meadow。
colororder meadow
将调色板更改为 sail。
colororder sail
自 R2024b 起
通过设置 NumDisplayWedges 属性,可以将多个小扇区的数据合并到一个名为 "Others" 的扇区中。也可以通过设置 DisplayOrder 属性,按升序或降序排列扇区。
例如,创建一个饼图,显示公司每个部门的员工数量。在创建图时,指定输出参量来存储 PieChart 对象,以便可以稍后修改它。
employees = [100 10 50 30 25 10 15]; departments = ["Engineering" "Sales" "User Experience" "Documentation" "IT" "HR" "Security"]; p = piechart(employees,departments,LabelStyle="name");

根据员工数量按降序排列扇区。
p.DisplayOrder = "descend";
显示三个扇区,并将其他扇区合并到第四个名为 "Others" 的扇区中。由于扇区通过 DisplayOrder 属性按降序排序,因此将 NumDisplayWedges 设置为 3 会显示三个最大的扇区。
p.NumDisplayWedges = 3;

要在一个图窗中创建多个图,请使用分块图布局。
创建 1×2 分块图布局。通过先后调用 nexttile 函数和 piechart 函数创建第一个图。然后通过调用 title 函数添加标题。对第二个图重复这些步骤。
tiledlayout(1,2) nexttile piechart([1 2 3 4]) title("2022 Totals") nexttile piechart([10 3 1 5 6 4]) title("2023 Totals")

输入参数
扇区数据,指定为数值向量或持续时间值向量。每个扇区的大小表示为整个饼图的百分比,具体取决于 data 元素的总和:
如果
sum(data)<1,则data的值指定饼图扇区的面积,结果为部分饼图。如果
sum(data)≥1,则 MATLAB 通过data/sum(data)对值进行归一化,以确定饼图的每个扇区的面积。
示例: piechart([0.1 0.2 0.3]) 创建部分饼图。
示例: piechart([1 2 3 4]) 使用总和大于 1 的值创建饼图。
示例: piechart([0.5 0.25 0.25]) 使用总和为 1 的比例值创建饼图。
数据类型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | duration
扇区名称,指定为字符串向量、字符向量元胞数组或包含数值、持续时间、日期时间或分类值的向量。该向量或元胞数组必须与 data 具有相同数量的元素。扇区名称和扇区百分比包含在扇区标签中。
示例: piechart([1 2 3],["Apples","Cherries","Grapes"]) 将名称指定为字符串向量。
示例: piechart([1 2 3],categorical(["Apples","Cherries","Grapes"])) 将名称指定为分类向量。
示例: piechart([10 20 30],minutes([1 2 3])) 将名称指定为持续时间向量。
数据类型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | duration | datetime | categorical | string | cell
分类扇区数据,指定为分类向量或逻辑向量。每个扇区的大小与对应的值在向量中出现的次数成比例。扇区名称是类别名称。
示例: piechart(categorical(["Apples","Cherries","Grapes","Oranges"])) 创建一个具有四个相同大小扇区的饼图。
示例: piechart(categorical(["Apples","Cherries","Cherries", "Cherries"])) 创建一个饼图,其中 "Cherries" 扇区占饼图的 3/4。"Apples" 扇区占饼图的其余 1/4。
数据类型: categorical | logical
包含扇区数据的源表,指定为表或时间表。
包含扇区数据的表变量,使用下表中的索引方案之一指定。您指定的表变量可以包含数值或持续时间值。
| 索引方案 | 示例 |
|---|---|
变量名称:
|
|
变量索引:
|
|
变量类型:
|
|
示例: piechart(tbl,"mydata") 指定名为 mydata 的表变量。
包含扇区名称的表变量,使用下表中的索引方案之一指定。您指定的表变量可以包含字符串向量、字符向量元胞数组或由数值、日期时间、持续时间或分类值组成的向量。
| 索引方案 | 示例 |
|---|---|
变量名称:
|
|
变量索引:
|
|
变量类型:
|
|
示例: piechart(tbl,"mydata","mynames") 使用变量 mydata 中的扇区数据和变量 mynames 中的扇区名称创建饼图。
包含分类数据的表变量,使用下表中的索引方案之一指定。您指定的表变量可以包含分类数据或逻辑值。一个类别的实例数量确定对应扇区的大小。
| 索引方案 | 示例 |
|---|---|
变量名称:
|
|
变量索引:
|
|
变量类型:
|
|
示例: piechart(tbl,"mycats") 指定名为 mycats 的表变量。
父容器,指定为 Figure、Panel、Tab、TiledChartLayout 或 GridLayout 对象。
名称-值参数
将可选参量对组指定为 Name1=Value1,...,NameN=ValueN,其中 Name 是参量名称,Value 是对应的值。名称-值参量必须出现在其他参量之后,但对各个参量对组的顺序没有要求。
示例: piechart([1 2 3 4],StartAngle=90) 创建一个起始角度为 90 度的饼图。
注意
此处所列的属性只是一部分。有关完整列表,请参阅 PieChart Properties。
偏移扇区,对于数值数据,指定为数值向量或逻辑向量。如果使用分类数据创建图,则可以指定包含一个或多个类别名称的字符串向量或字符向量。此饼图中的橙色扇区经过偏移。

示例: piechart([5 7 4 6],ExplodedWedges=3) 创建第三个扇区有偏移的饼图。
示例: piechart([5 7 4 6],ExplodedWedges=[1 3]) 创建第一个和第三个扇区偏移的饼图。
示例: piechart([5 7 4 6],ExplodedWedges=[false false true false]) 创建第三个扇区有偏移的饼图。
示例: piechart(categorical(["A" "B" "C" "D"]),ExplodedWedges="B") 使用分类数据创建饼图,其中扇区 B 经过偏移。
第一个扇区的起始角度,指定为以度为单位的标量值。默认情况下,起始角度为 0 度。正值使扇区按顺时针方向旋转。负值使扇区按逆时针方向旋转。
您可以通过考虑时钟上数字的排列来想象起始角度的位置。起始角度为 0 度对应于 12 点钟方向,起始角度为 90 度对应于 3 点钟方向。

数据类型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64
用于添加扇区的方向,指定为 "clockwise" 或 "counterclockwise"。
"clockwise"- 按顺时针方向添加扇区。"counterclockwise"- 按逆时针方向添加扇区。
详细信息
独立可视化是出于特殊目的设计的图,其工作方式独立于其他图。与 plot 和 surf 等其他图不同,独立可视化内置一个预配置的坐标区对象,并且某些自定义不可用。独立可视化还具有以下特性:
它无法与其他图形元素(如线条、补片或曲面)组合。因此,不支持
hold命令。gca函数可以将图对象返回为当前坐标区。您可以将图对象传递给许多 MATLAB 函数,这些函数接受坐标区对象作为输入参量。例如,您可以将图对象传递给
title函数。
版本历史记录
在 R2023b 中推出默认情况下饼图包含未定义的分类值,并在标注为 "Others" 的扇区中显示它们。以前,在计算 Proportions 属性时不包含未定义的值,并且这些值不会作为扇区显示在图中。此变更有助于您更轻松地理解图中分类数据的性质。
例如,使用包含三个未定义值的分类数组 ("") 创建一个饼图。在 R2024a 中,图不包含未定义的值。在 R2024b 中,图包含标注为 "Others" 的扇区来表示未定义的值。
cats = categorical(["Glazed" "Jelly" "Jelly" "Jelly", ... "Sugar","Sugar","Plain","","","",]); piechart(cats,LabelStyle="name")

要从图中排除 "Others" 扇区并从 Proportions 计算中排除未定义的值,请将 ShowOthers 属性设置为 "off"。
piechart(cats,LabelStyle="name",ShowOthers="off")
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
选择网站
选择网站以获取翻译的可用内容,以及查看当地活动和优惠。根据您的位置,我们建议您选择:。
您也可以从以下列表中选择网站:
如何获得最佳网站性能
选择中国网站(中文或英文)以获得最佳网站性能。其他 MathWorks 国家/地区网站并未针对您所在位置的访问进行优化。
美洲
- América Latina (Español)
- Canada (English)
- United States (English)
欧洲
- 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)
