Matlab数据误差绘制函数errorbar

3.8
(4)

今天,给各位系统的介绍下 Matlab 中使用 errorbar 绘图中的常见方法,即标注数据与理论曲线之间的误差图绘制方法,主要包括绘制长度相等的垂直误差条、绘制不同长度的垂直误差条、绘制水平误差条、绘制垂直和水平误差条、绘制不带线条的误差条、控制所有方向上的误差条长度、向每个数据点添加彩色标记、控制误差条端盖大小、创建后修改误差条、等常见用法。

Matlab数据误差绘制函数errorbar

下面我们将开始非常详细的 Matlab errorbar 函数语法介绍,实例引用,结果展示。首先,我们给出 Matlab 中关于 errorbar 函数的帮助文本如下:

>> help errorbar
 errorbar Error bar plot.
    errorbar(X,Y,L,U) plots the graph of vector X vs. vector Y with
    error bars specified by the vectors L and U.  L and U contain the
    lower and upper error ranges for each point in Y.  Each error bar
    is L(i) + U(i) long and is drawn a distance of U(i) above and L(i)
    below the points in (X,Y).  The vectors X,Y,L and U must all be
    the same length.  If X,Y,L and U are matrices then each column
    produces a separate line.
 
    errorbar(X,Y,E) or errorbar(Y,E) plots Y with error bars [Y-E Y+E].
    errorbar(...,'LineSpec') uses the color and linestyle specified by
    the string 'LineSpec'.  The color is applied to the data line and
    error bars while the linestyle and marker are applied to the data
    line only.  See PLOT for possibilities.
 
    errorbar(AX,...) plots into AX instead of GCA.
 
    H = errorbar(...) returns a vector of errorbarseries handles in H.
 
    For example,
       x = 1:10;
       y = sin(x);
       e = std(y)*ones(size(x));
       errorbar(x,y,e)
    draws symmetric error bars of unit standard deviation.

常见语法

errorbar(y,err)
errorbar(x,y,err)
errorbar(x,y,neg,pos)
errorbar(___,ornt)
errorbar(x,y,yneg,ypos,xneg,xpos)
errorbar(___,linespec)
errorbar(___,Name,Value)
errorbar(ax,___)
e = errorbar(___)

语法说明

errorbar(y,err) 创建 y 中数据的线图,并在每个数据点处绘制一个垂直误差条。err 中的值确定数据点上方和下方的每个误差条的长度,因此,总误差条长度是 err 值的两倍。

errorbar(x,y,err) 绘制 y 对 x 的图,并在每个数据点处绘制一个垂直误差条。

errorbar(x,y,neg,pos) 在每个数据点处绘制一个垂直误差条,其中 neg 确定数据点下方的长度,pos 确定数据点上方的长度。

errorbar(___,ornt) 设置误差条的方向。为水平误差条指定 ornt 为 ‘horizontal’,或者为水平和垂直误差条指定 ‘both’。ornt 的默认值为 ‘vertical’,这将绘制垂直误差条。在前面的任何输入参数组合之后使用此选项。

errorbar(x,y,yneg,ypos,xneg,xpos) 绘制 y 对 x 的图,并同时绘制水平和垂直误差条。yneg 和 ypos 输入分别设置垂直误差条下部和上部的长度。xneg 和 xpos 输入分别设置水平误差条左侧和右侧的长度。

errorbar(___,linespec) 设置线型、标记符号和颜色。例如,’–ro’ 绘制带圆形标记的红色虚线。线型仅影响线,而不影响误差条。

errorbar(___,Name,Value) 使用一个或多个名称-值对组参数修改线和误差条的外观。例如,’CapSize’,10 将每个误差条末端的端盖长度设置为 10 磅。

errorbar(ax,___) 在由 ax 指定的坐标区(而不是当前坐标区)中创建绘图。指定坐标区作为第一个输入参数。

当 y 为向量时,e = errorbar(___) 返回一个 ErrorBar 对象。如果 y 是矩阵,它将为 y 中的每一列返回一个 ErrorBar 对象。可在创建特定的 ErrorBar 对象后使用 e 修改其属性。

绘制长度相等的垂直误差条

创建向量 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)
Matlab数据误差绘制函数errorbar

绘制不同长度的垂直误差条

在每个数据点处创建带误差条的线图。改变误差条的长度。

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)
Matlab数据误差绘制函数errorbar

绘制水平误差条

在每个数据点处创建带水平误差条的线图。

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')

控制所有方向上的误差条长度

在每个数据点处显示垂直和水平误差条。使用 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')

控制误差条端盖大小

通过将 CapSize 属性设置为以磅为单位的正值,控制每个误差条末端的端盖大小。

x = linspace(0,2,15);
y = exp(x);
err = 0.3*ones(size(y));
errorbar(x,y,err,'CapSize',18)

由于我这里用的是Matlab2016,不支持水平方向上的误差标记,也不支持CapSize参数,所以借用官方的图片来给出以上四个误差条绘制的结果:

向每个数据点添加彩色标记

创建带误差条的线图。在每个数据点处显示标记。使用名称-值对组参数控制标记的外观。使用 MarkerSize 以磅为单位指定标记大小。使用 MarkerEdgeColor 和 MarkerFaceColor 分别指定标记轮廓和内部颜色。将颜色设置为颜色名称字符向量(例如 ‘red’)或 RGB 三元组。

x = linspace(0,10,15);
y = sin(x/2);
err = 0.3*ones(size(y));
errorbar(x,y,err,'-s','MarkerSize',10,...
    'MarkerEdgeColor','red','MarkerFaceColor','red')
Matlab数据误差绘制函数errorbar

创建后修改误差条

创建带误差条的线图。将误差条对象赋给变量 e

x = linspace(0,10,10);
y = sin(x/2);
err = 0.3*ones(size(y));
e = errorbar(x,y,err)
Matlab数据误差绘制函数errorbar
e = 
  ErrorBar with properties:
             Color: [0 0.4470 0.7410]
         LineStyle: '-'
         LineWidth: 0.5000
            Marker: 'none'
             XData: [1x10 double]
             YData: [1x10 double]
    XNegativeDelta: [1x0 double]
    XPositiveDelta: [1x0 double]
    YNegativeDelta: [1x10 double]
    YPositiveDelta: [1x10 double]
  Show all properties

在创建误差条对象后,使用 e 访问其属性。同样的,这里去掉了CapSize属性(Matlab2016不支持)

e.Marker = '*';
e.MarkerSize = 10;
e.Color = 'red';
e.CapSize = 15;
Matlab数据误差绘制函数errorbar

共计4人评分,平均3.8

到目前为止还没有投票~

很抱歉,这篇文章对您没有用!

让我们改善这篇文章!

告诉我们我们如何改善这篇文章?

文章目录

转载文章,原文出处:MathWorks官网,由古哥整理发布

如若转载,请注明出处:https://iymark.com/articles/504.html

(0)
微信公众号
古哥的头像古哥管理团队
上一篇 2020年10月21日 20:47
下一篇 2020年10月22日 21:56

你可能感兴趣的文章

发表回复

登录后才能评论
微信小程序
微信公众号