科研笔记第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小时内删除。

绘制均值误差棒图是一种常见的数据可视化方法,用于展示一组数据的平均值以及其不确定性范围(例如标准差、置信区间等)。这种图表可以帮助我们更直观地理解数据的变化趋势及波动情况。 以下是绘制均值误差棒图的基本步骤: 1. **准备数据** - 首先需要有一组或多组数据样本,并计算出每组数据的均值 (mean) 对应的误差值(如标准差 stddev 或者置信区间 confidence interval 等)。 2. **选择工具** 常见的数据绘图工具有 Python 的 Matplotlib 库、Seaborn 库或者其他专业软件比如 Excel、Origin 等。 3. **使用Matplotlib绘制错误棒图示例** ```python import numpy as np import matplotlib.pyplot as plt # 数据点 x 轴位置及其对应均值 y x = np.arange(0.5, 5.5, 1) mean_y = [6.4, 7.8, 9.2, 10.5] errors = [0.8, 1.0, 1.2, 1.5] # 每个点的标准偏差或其他度量误差 # 创建画布并设置标题 fig, ax = plt.subplots() ax.errorbar(x, mean_y, yerr=errors, fmt='-o', ecolor='red', capsize=5) ax.set_title('Mean and Error Bars') ax.set_xlabel('X-axis Label') ax.set_ylabel('Y-axis Label') plt.show() ``` 上述代码片段展示了如何利用 `matplotlib` 中的 `errorbar()` 函数快速生成带误差棒的图形。其中关键参数解释如下: - `x`: 定义了 X轴上各点的位置; - `y`: 对应于每个 X轴坐标上的 Y值也就是该处所有测量结果取算术平均得到的结果; - `yerr`: 表达的是上下浮动幅度即不确定性的大小,默认表示正负方向都存在同样的偏移量;如果只给出单一数值则统一应用于全部节点; - `fmt`: 控制线型样式 (-), 标记形状(o); - 其他选项像颜色(ecolor) 及端帽宽度(capsize)进一步美化图像细节部分。 通过以上操作就可以轻松制作出清晰易懂又美观大方的“均值+误差”柱状统计图表啦!
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值