科研笔记第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 运行结果

科研笔记第5期——箱型图和误差棒图_第1张图片

二、误差棒图

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

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 输出结果

科研笔记第5期——箱型图和误差棒图_第2张图片

三、参考内容

[1]MATLAB官方文档

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

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

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


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

你可能感兴趣的:(笔记)