boundedline.m
编者按:这个文件被选为MATLAB中央选择的
boundedline.m:行with shaded error/confidence bounds
这个库包含的代码boundedline.m
Matlab函数以及随之而来的outlinebounds.m
函数,以及所有相关的功能要求运行它们。
的boundedline
函数允许用户轻松地情节和与周围一块阴影。解说的情节通常是用来表示不确定区间或错误边界周围的一条线。
内容
- 开始
- 语法
- 示例1:策划线使用各种语法选项
- 示例2:填补缺口
- 贡献
开始
先决条件
这个函数需要Matlab R14或更高版本。
下载和安装
这段代码可以下载Github或者是MatlabCentral文件交换。文件交换的条目从GitHub每天更新存储库。
Matlab搜索路径
以下文件夹需要添加到您的(通过Matlab搜索路径目录
,pathtool
等):
boundedline- - - - - -包裹/Inpaint_nansboundedline- - - - - -包裹/boundedlineboundedline- - - - - -包裹/catunevenboundedline- - - - - -包裹/singlepatch
语法
boundedline (x, y, b)
情节一行给出的坐标x
和y
,周围一片延伸一段距离b
高于/低于这条线。的尺寸x
,y
,b
数组可以不同,允许多行绘制,和补丁范围是常数或沿着线的长度不同。看到完整函数头帮助这些变化的细节。
boundedline (…“α”)
呈现有界区域的补丁使用部分透明补丁一样的颜色对应的线(s)。如果不包括,有界区域将使用一个完全不透明补丁轻度的相应的阴影线的颜色。
boundedline (…,”透明度”,transp)
表明tranparency或强度的范围,用一个标量在0和1之间。默认是0.2。
boundedline (…,”取向”,或ient)
指示的方向。方向可以是“绿色”
垂直(上),或“水平的”
水平(x)。默认是“绿色”
。
boundedline (…,”南”,南flag)
表示界限补丁应该如何处理nan线坐标或界限值。选项是“填满”
消除使用邻近值的差距,“差距”
离开一个空白空间在这些点的补丁,或者“删除”
NaN-points完全下降,导致线性插值差距的补丁。对这些选项的详细信息,请参见下面的例子。
boundedline (…、“提出”提出)
颜色线(策划)根据颜色在这个n x 3 colormap数组,覆盖任何linespec或默认颜色。
boundedline (…ax)
情节有界行处理的轴表示斧头
。如果不包括,使用当前的轴。
(hl、惠普)= boundedline (…)
返回处理结果线和补丁对象(年代)。
胡特= outlinebounds (hl、惠普)
增加了一个轮廓生成的边界补丁boundedline
,返回结果的处理对象胡特
。
详细的输入和输出变量的函数可以通过访问帮助
函数。
示例1:策划线使用各种语法选项
这个例子构建4面板的例子图像用于MatlabCentral文件交换,它显示了几种不同的方法来提供线坐标,边界坐标,材质的选择。
第一块轴两行输入使用LineSpec选项,它允许您设置行颜色,线的颜色,并为每一行标记类型。第一行的界限不同/ x,而第二行是不变的界限为所有x。添加到大纲范围重叠区域可以看到更清楚。
x=linspace(0,2*π,50);日元=罪(x);y2=因为(x);e1=兰德(大小(日元))*。5+。5;e2=(二十五分。5];斧头(1)=次要情节(2,2,1);(l,p]=boundedline(x,日元,e1,”- b *”,x,y2,e2,”——罗”);outlinebounds(l,p);标题(”不透明的界限,与大纲”);轴紧;
为我们的第二轴,我们使用相同的两行,这一次分配x-varying界限线。而不是使用LineSpec语法,这个示例使用默认的颜色顺序分配的颜色线条和补丁。我也打开“α”
选项,该选项显示补丁部分透明。
斧头(2)=次要情节(2,2,2);boundedline(x,(日元;y2),兰德(长度(日元),2,2)*。5+。5,”α”);标题(”透明的界限”);轴紧;
范围也可以分配到一个水平方向,的情况下,轴表示因变量。在这种情况下,标量错误绑定值同时适用于线路和双方的线。
斧头(3)=次要情节(2,2,3);boundedline([日元;y2),x,e1(1),”取向”,”水平的”)标题(”水平范围”);轴紧;
而不是使用LineSpec或默认的颜色顺序,colormap数组可用于指定颜色。在这种情况下,increasingly-narrower界限被添加在同一行。
斧头(4)=次要情节(2,2,4);boundedline(x,repmat(日元,4,1),交换(0.5:-0.1:0.2,(312),……”提出”,很酷的(4),…”透明度”,0.5);标题(”多个边界使用colormap”);集(斧头([124]),”xlim”,(02*π]);集(斧头(3),”ylim”,(02*π]);轴紧;
示例2:填补缺口
如果你画一个与一个或多个nan的x
或y
向量,南位置呈现作为一个失踪的标记线的差距。然而,补丁
命令不处理nan优雅;它只是不能显示坐标的补丁如果任何包括nan。
正因为如此,补丁的预期行为的一部分boundedline当面对一个南边界的阵列(b
)或直线的x / y坐标(用于计算贴片坐标)是模棱两可的。我提供一些选择。
演示的选项之前,我将创建一个数据集,有几个不同类型的缺陷:
x=linspace(0,2*π,50);y=罪(x);b=(的(大小(y))*0.2;兰德(大小(y))*。5+。5]”;y(10)=南;%南的线而不是界限b(20.,1)=南;%南在下界,但是不行b(30.,2)=南;%南在上界,但不行b(40,:)=南;%南在两边绑定,但是不行
这就是看起来像errorbar情节。
图;他=errorbar(x,y,b(:,1),b(:,2),”博”);行([x([1020.30.40]);x([1020.30.40])]、[的(1,4)* -2;的(1,4)*2),…”颜色”,的(1,3)*0.5,”线型”,”:”);文本(x(10),罪(x(10))-0.2,{”\向上光标键”,”行”,”差距”},”绿色”,”前”,”水平的”,”中心”);文本(x(20.),罪(x(20.))-0.2,{”\向上光标键”,”较低的”,”绑定”,”差距”},”绿色”,”前”,”水平的”,”中心”);文本(x(30.),罪(x(30.))-0.2,{”\向上光标键”,”上”,”绑定”,”差距”},”绿色”,”前”,”水平的”,”中心”);文本(x(40),罪(x(40))-0.2,{”\向上光标键”,”双面的”,”绑定”,”差距”},”绿色”,”前”,”水平的”,”中心”);轴严格相等;
默认的方法来处理boundedline nan是离开的空白行,但光滑边界基于相邻点的差距。这个选项可以很好如果你只有一个或两个缺失点,和你强调那些不感兴趣的差距你的情节:
删除(他);(霍奇金淋巴瘤,惠普]=boundedline(x,y,b,”博”,”南”,”填满”);何=outlinebounds(霍奇金淋巴瘤,惠普);集(何,”线型”,”:”,”颜色”,”r”,”标记”,”。”);
我添加了边界轮廓对比颜色所以你可以看到我是如何处理个人分。
第二个选择留下一个完整的差距补丁NaN。我认为允许单边缺口,但是想不出好办法区分新鲜感绑定的差距。我开放,如果你有任何建议(发邮件给我)。
删除([霍奇金淋巴瘤惠普何]);(霍奇金淋巴瘤,惠普]=boundedline(x,y,b,”博”,”南”,”差距”);何=outlinebounds(霍奇金淋巴瘤,惠普);集(何,”线型”,”:”,”颜色”,”r”,”标记”,”。”);
最后一个选项删除分nan的补丁。视觉效果非常类似于填充选项,但是丢失的点是显而易见的如果你绘制边界轮廓。
删除([霍奇金淋巴瘤惠普何]);(霍奇金淋巴瘤,惠普]=boundedline(x,y,b,”博”,”南”,”删除”);何=outlinebounds(霍奇金淋巴瘤,惠普);集(何,”线型”,”:”,”颜色”,”r”,”标记”,”。”);
贡献
这个包是受欢迎的社区的贡献!
报告bug,请提交一个问题在GitHub,包括:
- 您的操作系统
- 你的版本的Matlab和所有相关工具箱(类型
版本
在Matlab命令行得到这个信息) - 代码/数据复制错误或缺陷的行为,和任何错误消息收到的全文
也请随时提交增强请求或发送拉请求(通过GitHub) bug修复和新特性。
我做监控MatlabCentral FileExchange条目在评论中提出的任何问题,但更愿意在GitHub跟踪问题。
发表与MATLAB R2016b
引用作为
凯利卡尼(2023)。boundedline.mGitHub (https://github.com/kakearney/boundedline-pkg)。检索。