科研笔记第5期——箱型图和误差棒图

目录

一、箱型图

1.1相关函数命令

1.2 源程序

1.3 运行结果

二、误差棒图

2.1相关函数命令

2.2 源程序

2.3 输出结果

三、参考内容

一、箱型图

箱形图(Box-plot)是一种用作显示一组数据分散情况资料的统计图,常见于品质管理。它主要用于反映原始数据分布的特征,还可以进行多组数据分布特征的比较。箱线图的绘制方法是:先找出一组数据的上边缘、下边缘、中位数和两个四分位数;然后, 连接两个四分位数画出箱体;再将上边缘和下边缘与箱体相连接,中位数在箱体中间。

1.1相关函数命令

xlsread在matlab中是用来读取xls文件的一个函数,但是当文件中的数据类型有所不同时,代码也会发生变化。

boxplot(x) 在 x 中创建数据的箱线图。如果 x 是向量,箱线图绘制一个框。如果 x 是矩阵,则箱线图为 x 的每一列绘制一个框。

boxplot(x,g) 使用 g 中包含的一个或多个分组变量创建箱形图。boxplot 为共享相同 g 值的每组 x 值生成一个单独的框。

findobj查找具有特定属性的图形对象

patch在遮罩子系统图标上绘制指定形状的色块

1.2 源程序

clc;clear
%% 输入数据
[num,text,raw]=xlsread('data.xlsx');
dataY=num(:,2:end);
%% 绘图
boxplot(dataY');
set(gca,'XTick',[1:6]);
set(gca,'XTicklabels',{'0','0.2','0.4','0.6','0.8','1'});
set(gca,'FontSize',16)
axis([0.5 6.5 0 10]);
%% 填充颜色
h = findobj(gca,'Tag','Box');
colorList={[0 0 255]/255;[0 128 0]/255;[255 0 0]/255;[0 139 139]/255;[0 0 128]/255;[255 165 0]/255;[139 0 139]/255};
for j=1:length(h) 
    patch(get(h(j),'XData'),get(h(j),'YData'),colorList{j,1},'FaceAlpha',1);
end
xlabel('时间 (s)');
ylabel('速度 (m/s)');
title('箱型图');

1.3 运行结果

二、误差棒图

众所周知,实验所得的结果(数据)总是存在一定的误差,即使在同一条件下进行重复实验或重复取样,最后获得的数据也不完全一样,所以在处理实验数据时我们经常需要添加误差棒来展示实验的误差范围。

2.1相关函数命令

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

errorbar(x,y,err) 绘制 y 与 x 的关系,并在每个数据点绘制一个垂直误差线。

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

2.2 源程序


clc;clear
%% 输入数据
% 数据1
[num1,text1,raw1]=xlsread('data1.xlsx');
x1=num1(:,1);
y1=num1(:,2:end);
Max1=max(y1,[],2);
Mean1=mean(y1,2);
Min1=min(y1,[],2);
errorUp1=Max1-Mean1;
errorDown1=Min1-Mean1;
% 数据2
[num2,text2,raw2]=xlsread('data2.xlsx');
x2=num2(:,1);
y2=num2(:,2:end);
Max2=max(y2,[],2);
Mean2=mean(y2,2);
Min2=min(y2,[],2);
errorUp2=Max2-Mdata-2ean2;
errorDown2=Min2-Mean2;
%% 绘图
%data-1
errorbar(x1,Mean1,errorUp1,errorDown1,'-o','Color',[1 0 0],'LineWidth',2,'MarkerSize',5, 'MarkerEdgeColor',[1 0 0],'MarkerFaceColor',[1 0 0])
%data-2
hold on
errorbar(x2,Mean2,errorUp2,errorDown2,'-^','Color',[0 1 0],'LineWidth',2,'MarkerSize',5, 'MarkerEdgeColor',[0 1 0],'MarkerFaceColor',[0 1 0])
axis([0 1 2 12]);
legend('数据1','数据2','location','northwest');
%set(h,'box','off')
xlabel('时间(s)')
ylabel('速度(m/s)')
set(gca,'FontSize',16)

2.3 输出结果

三、参考内容

[1]MATLAB官方文档

[2]箱形图_百度百科 (baidu.com)

[3]读文献先读图——误差棒 - 知乎 (zhihu.com)

[4]MATLAB高质量科研绘图_哔哩哔哩_bilibili


本文内容来源于网络,仅供参考学习,如内容、图片有任何版权问题,请联系处理,24小时内删除。

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Matlab误差绘制是一种用来可视化数据中的误差范围的方法。误差通常由柱状误差条组成。 绘制误差的第一步是准备数据。假设我们有一组数据集,其中每个数据点都有一个平均值以及上下误差界限。 在Matlab中,可以使用`errorbar`函数来绘制误差。该函数的第一个参数是数据点的位置,第二个参数是平均值,第三个和第四个参数分别是上下误差界限的值。例如,以下代码可以绘制一个简单的误差: ```matlab x = 1:5; % 数据点位置 y = [1.2 1.5 1.3 1.6 1.4]; % 平均值 e = [0.1 0.3 0.2 0.4 0.15]; % 误差界限 errorbar(x, y, e); ``` 在绘制误差时,可以使用额外参数来自定义表的外观。例如,可以使用`'o'`参数来绘制数据点,使用`'LineWidth'`参数来设置误差条的宽度,使用`'MarkerSize'`参数来设置数据点的大小等。 除了基本的误差,Matlab还提供了其他类型的误差。例如,`errorbarxy`函数可以绘制水平和垂直方向上带有误差的散点。`errorbarlogx`和`errorbarlogy`函数可以绘制具有对数坐标轴的误差。 绘制完误差后,可以使用Matlab中的其他函数进一步对表进行修饰、标注和保存。例如,可以使用`xlabel`和`ylabel`函数来添加坐标轴标签,使用`title`函数来添加标题,使用`legend`函数来添加例等。 总而言之,使用Matlab绘制误差是一个简单而强大的方法,可以帮助我们更好地理解数据中的误差范围,进行数据分析和可视化。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值