errorbar
含误差条的线图

语法
说明
errorbar(___, 使用一个或多个名称-值对组参量修改线和误差条的外观。例如,Name,Value)"CapSize",10 将每个误差条末端的端盖长度设置为 10 磅。
errorbar( 在由 ax,___)ax 指定的坐标区(而不是当前坐标区)中创建绘图。指定坐标区作为第一个输入参量。
为绘制的每个线条返回一个 e = errorbar(___)ErrorBar 对象。可在创建特定的 ErrorBar 对象后使用 e 修改其属性。有关属性列表,请参阅 ErrorBar 属性。
示例
创建向量 x 和 y。绘制 y 对 x 的图。在每个数据点处,显示长度相等的垂直误差条。
x = 1:10:100; y = [20 30 45 40 60 65 80 75 95 90]; err = 8*ones(size(y)); errorbar(x,y,err)

在每个数据点处创建带误差条的线图。改变误差条的长度。
x = 1:10:100; y = [20 30 45 40 60 65 80 75 95 90]; err = [5 8 2 9 3 3 8 3 9 3]; errorbar(x,y,err)

在每个数据点处创建带水平误差条的线图。
x = 1:10:100;
y = [20 30 45 40 60 65 80 75 95 90];
err = [1 3 5 3 5 3 6 4 3 3];
errorbar(x,y,err,'horizontal')
在每个数据点处创建带垂直和水平误差条的线图。
x = 1:10:100;
y = [20 30 45 40 60 65 80 75 95 90];
err = [4 3 5 3 5 3 6 4 3 3];
errorbar(x,y,err,'both')
绘制向量 y 对 x 的图。在每个数据点处显示一个圆形标记以及垂直和水平误差条。通过省略 linespec 输入参量的线型选项,不显示连接数据点的线。
x = 1:10:100; y = [20 30 45 40 60 65 80 75 95 90]; err = [4 3 5 3 5 3 6 4 3 3]; errorbar(x,y,err,"both","o")

或者,省略标记并单独绘制误差条。为此,请将 LineStyle 名称-值参量指定为 "none"。
errorbar(x,y,err,"both","LineStyle","none")

在每个数据点处显示垂直和水平误差条。使用 yneg 和 ypos 输入参量选项分别控制垂直误差条下部和上部的长度。使用 xneg 和 xpos 输入参量选项分别控制水平误差条左侧和右侧的长度。
x = 1:10:100;
y = [20 30 45 40 60 65 80 75 95 90];
yneg = [1 3 5 3 5 3 6 4 3 3];
ypos = [2 5 3 5 2 5 2 2 5 5];
xneg = [1 3 5 3 5 3 6 4 3 3];
xpos = [2 5 3 5 2 5 2 2 5 5];
errorbar(x,y,yneg,ypos,xneg,xpos,'o')
创建一个带误差条的日期时间值图,以持续时间单位显示。
x = 1:13; y = datetime(2018,5,1,1:13,0,0); err = hours(rand(13,1)); errorbar(x,y,err)

创建带误差条的线图。在每个数据点处显示标记。使用名称-值参量更改标记的外观。使用 MarkerSize 以磅为单位指定标记大小。使用 MarkerEdgeColor 和 MarkerFaceColor 分别指定标记轮廓和填充颜色。您可以按名称(如 "blue")指定颜色,也可以按 RGB 三元组或十六进制颜色代码来指定颜色。
x = linspace(0,10,15); y = sin(x/2); err = 0.3*ones(size(y)); errorbar(x,y,err,"-s","MarkerSize",10,... "MarkerEdgeColor","blue","MarkerFaceColor",[0.65 0.85 0.90])

通过将 CapSize 属性设置为以磅为单位的正值,控制每个误差条末端的端盖大小。
x = linspace(0,2,15);
y = exp(x);
err = 0.3*ones(size(y));
e = errorbar(x,y,err,'CapSize',18);
要删除端盖,请将端盖大小设置为零。然后通过调用 axis padded 命令在图框的内部填补一圈白边。添加此白边可以防止误差条与图框重叠。
e.CapSize = 0;
axis padded
创建带误差条的线图。将误差条对象赋给变量 e。
x = linspace(0,10,10); y = sin(x/2); err = 0.3*ones(size(y)); e = errorbar(x,y,err)

e =
ErrorBar with properties:
Color: [0.0660 0.4430 0.7450]
LineStyle: '-'
LineWidth: 0.5000
Marker: 'none'
XData: [0 1.1111 2.2222 3.3333 4.4444 5.5556 6.6667 7.7778 8.8889 10]
YData: [0 0.5274 0.8962 0.9954 0.7952 0.3558 -0.1906 -0.6797 -0.9643 -0.9589]
XNegativeDelta: [1×0 double]
XPositiveDelta: [1×0 double]
YNegativeDelta: [0.3000 0.3000 0.3000 0.3000 0.3000 0.3000 0.3000 0.3000 0.3000 0.3000]
YPositiveDelta: [0.3000 0.3000 0.3000 0.3000 0.3000 0.3000 0.3000 0.3000 0.3000 0.3000]
Show all properties
在创建误差条对象后,使用 e 访问其属性。
e.Marker = '*'; e.MarkerSize = 10; e.Color = 'red'; e.CapSize = 15;

输入参数
y 坐标,指定为向量或矩阵。y 的大小和形状取决于您的数据形状和您要创建的绘图类型。下表描述了您可以创建的最常见的绘图类型。
| 绘图类型 | 坐标和误差条长度 |
|---|---|
| 一个带误差条的线条 | 将所有坐标和误差条长度均指定为具有相同长度的行向量和列向量的任意组合。例如,绘制一个带误差条的线条。使用
y = 1:5; err = [0.3 0.1 0.3 0.1 0.3]; errorbar(y,err) xlim([0.9 5.1]) 可以选择将
x = [0; 1; 2; 3; 4]; y = 1:5; err = [0.3 0.1 0.3 0.1 0.3]; errorbar(x,y,err) xlim([-0.1 4.1]) |
| 多个带误差条的线条 | 将一个或多个坐标输入或误差条长度指定为矩阵。所有矩阵的大小和方向必须相同。如果任何输入指定为向量,它们必须具有相同数量的元素,并且它们必须具有与矩阵的维度之一相同的长度。 MATLAB® 在以下情况下为矩阵中的每列绘制一个线条:
例如,绘制五个线条,每个线条有两个误差条。使用
y = [1 2 3 4 5;
2 3 4 5 6];
err = [0.2 0.1 0.3 0.1 0.2;
0.1 0.3 0.4 0.3 0.1];
errorbar(y,err)
xlim([0.95 2.05])使用前面代码中相同的
x = [0 1 2 3 4;
10 11 12 13 14];
y = [1 2 3 4 5];
err = [0.2 0.1 0.3 0.1 0.2;
0.1 0.3 0.4 0.3 0.1];
errorbar(x,y,err)
xlim([-0.5 14.5]) |
数据类型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical | categorical | datetime | duration
x 坐标,指定为向量或矩阵。x 的大小和形状取决于您的数据形状和您要创建的绘图类型。下表描述了您可以创建的最常见的绘图类型。
| 绘图类型 | 坐标和误差条长度 |
|---|---|
| 一个带误差条的线条 | 将所有坐标和误差条长度均指定为具有相同长度的行向量和列向量的任意组合。例如,绘制一个带误差条的线条。使用
x = 0:4; y = [1; 2; 3; 4; 5]; err = [0.2 0.1 0.3 0.1 0.2]; errorbar(x,y,err) xlim([-0.1 4.1]) |
| 多个带误差条的线条 | 将一个或多个坐标输入或误差条长度指定为矩阵。所有矩阵必须具有相同的大小和方向。如果任何输入指定为向量,它们必须具有相同数量的元素,并且它们具有与矩阵的维度之一相同的长度。 MATLAB 在以下情况下为矩阵中的每列绘制一个线条:
否则,MATLAB 会为矩阵中的每行绘制一个线条。例如,绘制五个线条,每个线条有两个误差条。使用
x = [1 1 1 1 1;
2 2 2 2 2];
y = [1 2 3 4 5;
2 3 4 5 6];
err = [0.2 0.1 0.3 0.1 0.2;
0.1 0.3 0.4 0.3 0.1];
errorbar(x,y,err)
xlim([0.95 2.05])
使用前面代码中相同的
x = 0:4;
y = [1 2 3 4 5;
2 3 4 5 6];
err = [0.2 0.1 0.3 0.1 0.2;
0.1 0.3 0.4 0.3 0.1];
errorbar(x,y,err)
xlim([-0.1 4.1])
|
数据类型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical | categorical | datetime | duration
对称误差条的误差条长度,指定为向量或矩阵。如果您不希望在特定数据点处绘制误差条,则将长度指定为 NaN。err 的大小和形状取决于坐标输入的大小和形状,以及您要如何分布误差条。下表描述了您可以创建的最常见的绘图类型。
| 绘图类型 | x 和 y | err |
|---|---|---|
| 一个带误差条的线条 |
| 指定为与
x = [0; 1; 2; 3; 4]; y = 1:5; err = [0.2 0.1 0.3 0.1 0.2]; errorbar(x,y,err) xlim([-0.1 4.1]) |
| 多个带误差条的线条 | x 或 y 中有至少一个是矩阵 | 指定为与 指定为向量时,误差条在所有线条之间共享。例如,绘制两个线条,它们共享相同的五个误差条。使用
x = 1:5;
y = [1 2 3 4 5;
2 3 4 5 6];
err = [0.2 0.1 0.3 0.1 0.2];
errorbar(x,y,err)
xlim([0.90 5.1])要为每个线条显示不同的误差条,请指定为与
x = 1:5;
y = [1 2 3 4 5;
2 3 4 5 6];
err = [0.2 0.1 0.3 0.1 0.2;
0.1 0.3 0.4 0.3 0.1];
errorbar(x,y,err)
xlim([0.90 5.1]) |
误差条长度的数据类型必须与对应的绘图数据兼容。例如,如果绘制 datetime 值,这些值的误差条必须为 duration 值。
数据类型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical | duration
正负方向的误差条长度,指定为以逗号分隔的一个向量对组、一个矩阵对组或一个向量和一个矩阵。负方向位于数据点的下方或左侧,具体取决于误差条的方向。正方向位于数据点的上方或右侧。
如果您要省略特定数据点处的误差条的负部或正部,可将它在该点处的长度指定为 NaN。要省略所有数据点处的负部或正部,请为 neg 或 pos 指定空数组。
neg 和 pos 的大小和形状取决于坐标输入的大小和形状,以及您要如何分布误差条。下表描述了您可以创建的最常见的绘图类型。
| 绘图类型 | x 和 y | neg 和 pos |
|---|---|---|
| 一个带误差条的线条 |
| 指定为与
x = [0; 1; 2; 3; 4]; y = 1:5; neg = [0.2; 0.1; 0.3; 0.05; 0.3]; pos = [0.1 0.05 0.1 0.2 0.3]; errorbar(x,y,neg,pos) xlim([-0.1 4.1]) |
| 多个带误差条的线条 | x 或 y 中有至少一个是矩阵 | 指定为与 指定为向量时,这些误差条的长度在所有线条之间是相同的。例如,绘制两个有相同的正负误差条长度的线条。使用
x = 0:4;
y = [1 2 3 4 5;
6 7 8 9 10];
neg = [0.2; 0.1; 0.3; 0.05; 0.3];
pos = [0.1 0.05 0.1 0.2 0.3];
errorbar(x,y,neg,pos)
xlim([-0.1 4.1])要为每个线条显示不同的正负误差条长度,请指定为与
x = 0:4;
y = [1 2 3 4 5;
6 7 8 9 10];
neg = [0.2 0.1 0.3 0.05 0.3;
3 5 3 2 2];
pos = [0.2 0.3 0.4 0.1 0.2;
4 3 3 7 3];
errorbar(x,y,neg,pos)
xlim([-0.1 4.1]) |
误差条长度的数据类型必须与对应的绘图数据兼容。例如,如果绘制 datetime 值,这些值的误差条必须为 duration 值。
数据类型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical | duration
正负方向的垂直误差条长度,指定为以逗号分隔的一个向量对组、一个矩阵对组或一个向量和一个矩阵。负方向在数据点的下方,正方向在数据点的上方。
如果您要省略特定数据点处的误差条的负部或正部,可将它在该点处的长度指定为 NaN。要省略所有数据点处的负部或正部,请为 yneg 或 ypos 指定空数组。
yneg 和 ypos 的大小和形状取决于坐标输入的大小和形状,以及您要如何分布误差条。下表描述了您可以创建的最常见的绘图类型。
| 绘图类型 | x 和 y | yneg 和 ypos |
|---|---|---|
| 一个带误差条的线条 |
| 指定为与
x = [0; 1; 2; 3; 4]; y = 1:5; yneg = [0.2; 0.1; 0.3; 0.05; 0.3]; ypos = [0.1 0.05 0.1 0.2 0.3]; xneg = [0.1; 0.1; 0.1; 0.1; 0.1]; xpos = [0.1 0.1 0.1 0.1 0.1]; errorbar(x,y,yneg,ypos,xneg,xpos) xlim([-0.2 4.2]) |
| 多个带误差条的线条 | x 或 y 中有至少一个是矩阵 | 指定为与 指定为向量时,这些误差条的长度在所有线条之间是相同的。例如,绘制两个有相同的正负垂直误差条长度的线条。将
x = 0:4;
y = [1 2 3 4 5;
6 7 8 9 10];
yneg = [0.2; 0.3; 0.3; 0.1; 0.3];
ypos = [0.1 0.4 0.1 0.2 0.3];
errorbar(x,y,yneg,ypos,[],[])
xlim([-0.2 4.2])要为每个线条显示不同的正负垂直误差条长度,请指定为与
x = 0:4;
y = [1 2 3 4 5;
6 7 8 9 10];
yneg = [0.3 1 0.2 0.5 0.3;
0.3 0.2 0.3 1 0.5];
ypos = [1 0.4 0.3 0.2 0.3;
0.4 0.5 0.2 0.4 1];
errorbar(x,y,yneg,ypos,[],[])
xlim([-0.2 4.2]) |
误差条长度的数据类型必须与对应的绘图数据兼容。例如,如果绘制 datetime 值,这些值的误差条必须为 duration 值。
数据类型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical | duration
正负方向的水平误差条长度,指定为以逗号分隔的一个向量对组、一个矩阵对组或一个向量和一个矩阵。负方向在数据点的左侧,正方向在数据点的右侧。
如果要省略特定数据点处的误差条的负部或正部,可将它在该点处的长度指定为 NaN。要省略所有数据点处的负部或正部,请为 xneg 或 xpos 指定空数组。
xneg 和 xpos 的大小和形状取决于坐标输入的大小和形状以及您要如何分布误差条。下表描述了您可以创建的最常见的绘图类型。
| 绘图类型 | x 和 y | xneg 和 xpos |
|---|---|---|
| 一个带误差条的线条 |
| 指定为与
x = [0; 1; 2; 3; 4]; y = 1:5; yneg = [0.2; 0.1; 0.3; 0.05; 0.3]; ypos = [0.1 0.05 0.1 0.2 0.3]; xneg = [0.1; 0.1; 0.1; 0.1; 0.1]; xpos = [0.1 0.1 0.1 0.1 0.1]; errorbar(x,y,yneg,ypos,xneg,xpos) xlim([-0.2 4.2]) |
| 多个带误差条的线条 | x 或 y 中有至少一个是矩阵 | 指定为与 指定为向量时,这些误差条的长度在所有线条之间是相同的。例如,绘制两个有相同的正负水平误差条长度的线条。将
x = 0:4;
y = [1 2 3 4 5;
6 7 8 9 10];
xneg = [0.2; 0.3; 0.3; 0.1; 0.3];
xpos = [0.1 0.4 0.1 0.2 0.3];
errorbar(x,y,[],[],xneg,xpos)
xlim([-0.5 4.5])
ylim([0.5 10.5])要为每个线条显示不同的正负水平误差条长度,请指定为与
x = 0:4;
y = [1 2 3 4 5;
6 7 8 9 10];
xneg = [0.3 1 0.2 0.5 0.3;
0.3 0.2 0.3 1 0.5];
xpos = [1 0.4 0.3 0.2 0.3;
0.4 0.5 0.2 0.4 1];
errorbar(x,y,[],[],xneg,xpos)
xlim([-0.5 5.5])
ylim([0.5 10.5]) |
误差条长度的数据类型必须与对应的绘图数据兼容。例如,如果绘制 datetime 值,这些值的误差条必须为 duration 值。
数据类型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical | duration
误差条方向,指定为下列值之一:
"vertical"- 垂直误差条"horizontal"- 水平误差条"both"- 水平和垂直误差条
示例: errorbar(x,y,err,"horizontal")
线型、标记和颜色,指定为包含符号的字符串标量或字符向量。符号可以按任意顺序显示。您不需要同时指定所有三个特征(线型、标记和颜色)。例如,如果忽略线型,只指定标记,则绘图只显示标记,不显示线条。
示例: "--or" 是带有圆形标记的红色虚线。
| 线型 | 描述 | 表示的线条 |
|---|---|---|
"-" | 实线 |
|
"--" | 虚线 |
|
":" | 点线 |
|
"-." | 点划线 |
|
| 标记 | 描述 | 生成的标记 |
|---|---|---|
"o" | 圆圈 |
|
"+" | 加号 |
|
"*" | 星号 |
|
"." | 点 |
|
"x" | 叉号 |
|
"_" | 水平线条 |
|
"|" | 垂直线条 |
|
"square" | 方形 |
|
"diamond" | 菱形 |
|
"^" | 上三角 |
|
"v" | 下三角 |
|
">" | 右三角 |
|
"<" | 左三角 |
|
"pentagram" | 五角形 |
|
"hexagram" | 六角形 |
|
| 颜色名称 | 短名称 | RGB 三元组 | 外观 |
|---|---|---|---|
"red" | "r" | [1 0 0] |
|
"green" | "g" | [0 1 0] |
|
"blue" | "b" | [0 0 1] |
|
"cyan" | "c" | [0 1 1] |
|
"magenta" | "m" | [1 0 1] |
|
"yellow" | "y" | [1 1 0] |
|
"black" | "k" | [0 0 0] |
|
"white" | "w" | [1 1 1] |
|
坐标区对象。如果未指定坐标区,则 errorbar 在当前坐标区中绘图。
名称-值参数
以 Name1=Value1,...,NameN=ValueN 的形式指定可选参量对组,其中 Name 是参量名称,Value 是对应的值。名称-值参量必须出现在其他参量之后,但对各个参量对组的顺序没有要求。
在 R2021a 之前,使用逗号分隔每个名称和值,并用引号将 Name 引起来。
示例: errorbar(y,err,"LineWidth",2) 指定 2 磅的线宽。
此处所列的属性只是一部分。有关完整列表,请参阅 ErrorBar 属性。
误差条末端的端盖长度,指定为以磅为单位的非负值。要从误差条中删除端盖,请将 CapSize 设置为 0。
示例: errorbar(x,y,err,"CapSize",10)
线宽,指定为以磅为单位的正值,其中 1 磅 = 1/72 英寸。如果该线条具有标记,则线条宽度也会影响标记边。
线宽不能小于像素的宽度。如果将线宽设置为小于系统上像素宽度的值,则线条显示为一个像素的宽度。
详细信息
errorbar 接受向量和矩阵的组合,用于在同一坐标区中绘制多组坐标。
当坐标在一个维度中共享时,指定一个向量和一个矩阵。该向量的长度必须与该矩阵的维度之一相匹配。绘图时将绘制矩阵各行(或列)对该同一向量的图。例如,您可以将 x 坐标指定为一个 m 元素向量,将 y 坐标指定为一个 m×n 矩阵。MATLAB 在共享相同 x 坐标的同一坐标区中显示 n 个绘图。

当所有图两个维度上的坐标均不相同时,指定两个矩阵。这两个矩阵必须具有相同的大小和方向。将基于矩阵的列确定的坐标来绘图。

扩展功能
errorbar 函数支持 GPU 数组输入,但有以下用法说明和限制:
此函数接受 GPU 数组,但不在 GPU 上运行。
有关详细信息,请参阅在 GPU 上运行 MATLAB 函数 (Parallel Computing Toolbox)。
版本历史记录
在 R2006a 之前推出errorbar 函数现在接受与 plot 函数相同的矩阵和向量组合。因此,您可以一次性绘制多个数据集,而不用再在各绘图命令之间调用 hold 函数。
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)


























