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 0.4470 0.7410] 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: [1x0 double] XPositiveDelta: [1x0 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] Use GET to show all properties
在创建误差条对象后,使用 e
访问其属性。
e.Marker = '*'; e.MarkerSize = 10; e.Color = 'red'; e.CapSize = 15;
输入参数
y
— y 坐标
向量 | 矩阵
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 坐标,指定为向量或矩阵。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
err
— 对称误差条的误差条长度
向量 | 矩阵
对称误差条的误差条长度,指定为向量或矩阵。如果您不希望在特定数据点处绘制误差条,则将长度指定为 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
neg,pos
— 正负方向的误差条长度
向量对组 | 矩阵对组 | 向量和矩阵
正负方向的误差条长度,指定为以逗号分隔的一个向量对组、一个矩阵对组或一个向量和一个矩阵。负方向位于数据点的下方或左侧,具体取决于误差条的方向。正方向位于数据点的上方或右侧。
如果您要省略特定数据点处的误差条的负部或正部,可将它在该点处的长度指定为 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
yneg,ypos
— 正负方向的垂直误差条长度
向量对组 | 矩阵对组 | 向量和矩阵
正负方向的垂直误差条长度,指定为以逗号分隔的一个向量对组、一个矩阵对组或一个向量和一个矩阵。负方向在数据点的下方,正方向在数据点的上方。
如果您要省略特定数据点处的误差条的负部或正部,可将它在该点处的长度指定为 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
xneg,xpos
— 正负方向的水平误差条长度
向量对组 | 矩阵对组 | 向量和矩阵
正负方向的水平误差条长度,指定为以逗号分隔的一个向量对组、一个矩阵对组或一个向量和一个矩阵。负方向在数据点的左侧,正方向在数据点的右侧。
如果要省略特定数据点处的误差条的负部或正部,可将它在该点处的长度指定为 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
ornt
— 误差条方向
"vertical"
(默认) | "horizontal"
| "both"
误差条方向,指定为下列值之一:
"vertical"
- 垂直误差条"horizontal"
- 水平误差条"both"
- 水平和垂直误差条
示例: errorbar(x,y,err,"horizontal")
LineSpec
— 线型、标记和颜色
字符串标量 | 字符向量
线型、标记和颜色,指定为包含符号的字符串标量或字符向量。符号可以按任意顺序显示。您不需要同时指定所有三个特征(线型、标记和颜色)。例如,如果忽略线型,只指定标记,则绘图只显示标记,不显示线条。
示例: "--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] | |
ax
— 坐标区对象
当前坐标区 (默认) | 坐标区对象
坐标区对象。如果未指定坐标区,则 errorbar
在当前坐标区中绘图。
名称-值参数
将可选的参数对组指定为 Name1=Value1,...,NameN=ValueN
,其中 Name
是参数名称,Value
是对应的值。名称-值参数必须出现在其他参数之后,但参数对组的顺序无关紧要。
在 R2021a 之前,使用逗号分隔每个名称和值,并用引号将 Name
引起来。
示例: errorbar(y,err,"LineWidth",2)
指定 2 磅的线宽。
此处所列的属性只是一部分。有关完整列表,请参阅 ErrorBar 属性。
CapSize
— 误差条末端的端盖长度
6
(默认) | 以磅为单位的非负值
误差条末端的端盖长度,指定为以磅为单位的非负值。要从误差条中删除端盖,请将 CapSize
设置为 0
。
示例: errorbar(x,y,err,"CapSize",10)
LineWidth
— 线条宽度
0.5
(默认) | 正值
线宽,指定为以磅为单位的正值,其中 1 磅 = 1/72 英寸。如果该线条具有标记,则线条宽度也会影响标记边。
线宽不能小于像素的宽度。如果将线宽设置为小于系统上像素宽度的值,则线条显示为一个像素的宽度。
详细信息
将坐标指定为向量和矩阵的组合
errorbar
接受向量和矩阵的组合,用于在同一坐标区中绘制多组坐标。
当坐标在一个维度中共享时,指定一个向量和一个矩阵。该向量的长度必须与该矩阵的维度之一相匹配。绘图时将绘制矩阵各行(或列)对该同一向量的图。例如,您可以将 x 坐标指定为一个 m 元素向量,将 y 坐标指定为一个 m×n 矩阵。MATLAB 在共享相同 x 坐标的同一坐标区中显示 n 个绘图。
当所有图两个维度上的坐标均不相同时,指定两个矩阵。这两个矩阵必须具有相同的大小和方向。将基于矩阵的列确定的坐标来绘图。
扩展功能
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 之前推出R2022b: 使用矩阵一次绘制多个数据集
errorbar
函数现在接受与 plot
函数相同的矩阵和向量组合。因此,您可以一次性绘制多个数据集,而不用再在各绘图命令之间调用 hold
函数。
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)