热门标签 | HotTags
当前位置:  开发笔记 > 开发工具 > 正文

显示多个数据时出现错误错误

如何解决《显示多个数据时出现错误错误》经验,为你挑选了1个好方法。

所以我需要在图中绘制一些errobar情节.具体来说,我需要errorbar在每个图中有4个图,问题是当绘制多个数据时,图形有点不可读.

例:

clear all
close all
clc



x = 0:pi/10:pi;
y = sin(x);
y2=cos(x);
y3=atan(x);
e = std(y)*ones(size(x));
e2 = std(y2)*ones(size(x));
e3 = std(y3)*ones(size(x));

figure
hold on
errorbar(x,y,e)
errorbar(x,y2,e2)
errorbar(x,y3,e3)

在此输入图像描述

我解决这个问题的想法是填充错误条的角用界面的相同颜色和低alpha划分的区域,这样区域的重叠是可见的.

问题是,我能想象到的唯一方法是在由错误栏角分隔的区域中创建一个网格,然后填充它们patch.这确实是可能的,但非常烦人,因为绘图不会有凸包,因此我需要迭代地逐个创建三角形.所以问题是:有更优雅的方式吗?

此外,如果有人的话,我愿意接受更好的可视化数据的建议.



1> Luis Mendo..:

方法1

正常绘制图形,然后使用修补程序手动绘制错误栏.补丁的数据(坐标和颜色)取自绘制的图形,补丁的alpha可以设置为任何所需的值.

clear all
close all
clc

error_alpha = .4;
error_width_factor = .01;

x = 0:pi/10:pi;
y = sin(x);
y2 = cos(x);
y3 = atan(x);
e = std(y)*ones(size(x));
e2 = std(y2)*ones(size(x));
e3 = std(y3)*ones(size(x));
ee = [e; e2; e3];

figure
hold on
hp(1) = plot(x,y);
hp(2) = plot(x,y2);
hp(3) = plot(x,y3);

w = diff(xlim)*error_width_factor;
for m = 1:numel(hp)
    for n = 1:numel(hp(m).XData)
        patch(hp(m).XData(n)+[-1 1 1 -1]*w, hp(m).YData(n)+[-1 -1 1 1]*ee(m,n), 'w',...
           'FaceColor', hp(m).Color, 'FaceAlpha', error_alpha, 'EdgeColor', 'none');
    end
end

在此输入图像描述

方法2

与之前类似,但使用较窄的补丁并使用与图形相关的水平移位绘制它们(如@Patrik所建议的那样).应用alpha值有助于保持图形更亮.

代码是方法1的修改版本.此处显示的示例包含101个数据值,并且仍然相当可见.

clear all
close all
clc

error_alpha = .4;
error_width_factor = .003;

x = 0:pi/50:pi;
y = sin(x);
y2 = cos(x);
y3 = atan(x);
e = std(y)*ones(size(x));
e2 = std(y2)*ones(size(x));
e3 = std(y3)*ones(size(x));
ee = [e; e2; e3];

figure
hold on
hp(1) = plot(x,y);
hp(2) = plot(x,y2);
hp(3) = plot(x,y3);

w = diff(xlim)*error_width_factor;
m0 = (numel(hp)+1)/2;
for m = 1:numel(hp)
    for n = 1:numel(hp(m).XData)
        patch(hp(m).XData(n)+[-1 1 1 -1]*w+w*(m-m0),...
        hp(m).YData(n)+[-1 -1 1 1]*ee(m,n), 'w', 'FaceColor', hp(m).Color, ...
        'FaceAlpha', error_alpha, 'EdgeColor', 'none');
    end
end

在此输入图像描述


推荐阅读
  • 本文讨论了如何在codeigniter中识别来自angularjs的请求,并提供了两种方法的代码示例。作者尝试了$this->input->is_ajax_request()和自定义函数is_ajax(),但都没有成功。最后,作者展示了一个ajax请求的示例代码。 ... [详细]
  • iOS Swift中如何实现自动登录?
    本文介绍了在iOS Swift中如何实现自动登录的方法,包括使用故事板、SWRevealViewController等技术,以及解决用户注销后重新登录自动跳转到主页的问题。 ... [详细]
  • 本文介绍了利用ARMA模型对平稳非白噪声序列进行建模的步骤及代码实现。首先对观察值序列进行样本自相关系数和样本偏自相关系数的计算,然后根据这些系数的性质选择适当的ARMA模型进行拟合,并估计模型中的位置参数。接着进行模型的有效性检验,如果不通过则重新选择模型再拟合,如果通过则进行模型优化。最后利用拟合模型预测序列的未来走势。文章还介绍了绘制时序图、平稳性检验、白噪声检验、确定ARMA阶数和预测未来走势的代码实现。 ... [详细]
  • Title: Extracting Title, Keywords, and Summary from Content
    Summary: This task requires extracting the title, keywords, and summary from a given content. The title should be more than 30 characters long, the keywords should be at least 10, and the summary should be between 150 and 200 words. ... [详细]
  • Introduction(简介)Forbeingapowerfulobject-orientedprogramminglanguage,Cisuseda ... [详细]
  • Vue基础一、什么是Vue1.1概念Vue(读音vjuː,类似于view)是一套用于构建用户界面的渐进式JavaScript框架,与其它大型框架不 ... [详细]
  • 本博文基于《Amalgamationofproteinsequence,structureandtextualinformationforimprovingprote ... [详细]
  • Thisworkcameoutofthediscussioninhttps://github.com/typesafehub/config/issues/272 ... [详细]
  • [转载]从零开始学习OpenGL ES之四 – 光效
    继续我们的iPhoneOpenGLES之旅,我们将讨论光效。目前,我们没有加入任何光效。幸运的是,OpenGL在没有设置光效的情况下仍然可 ... [详细]
  • ;(function(window){***[dateDiff算时间差]*@param{[typeNumber]}hisTime[历史时间戳, ... [详细]
  • Non-ASCIIhelponitsownisOK: ... [详细]
  • 详解 Python 的二元算术运算,为什么说减法只是语法糖?[Python常见问题]
    原题|UnravellingbinaryarithmeticoperationsinPython作者|BrettCannon译者|豌豆花下猫(“Python猫 ... [详细]
  • QuestionThereareatotalofncoursesyouhavetotake,labeledfrom0ton-1.Somecoursesmayhaveprerequi ... [详细]
  • 先记住几个专用名词,如下:Workspace:工作区IndexStage:暂存区Repository:仓库区(或本地仓库)Remote:远程仓库一、新建代码库#在当前目录新建一个G ... [详细]
  • Answer:Theterm“backslash”isonofthemostincorrectlyusedtermsincomputing.People ... [详细]
author-avatar
蜜爱女_201
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有