Hong's Page.

使用matlab画boxplot

字数统计: 316阅读时长: 1 min
2020/03/12 Share

00. 介绍

如何使用matlab画boxplot(箱线图)。在我的使用过程中使用到的是最后一种情况,也就是04. 多种不同长度数据的情况

官方文档

01. 单个数据的情况

最简单的方法,直接使用函数boxplot

1
boxplot(x)

其中x是一个vector,得到如图

单组数据
单组数据

03. 多组相同长度的数据

对于有多组数据的情况,需要画多个box的情况,(以下图片代码来自官方文档)

1
2
3
4
5
6
7
8
x = randn(100,25); % x的为100行,25列。其中列对应的数据都组数,也就是box的数量。行对应的是每个box中的数据点数
figure

subplot(2,1,1)
boxplot(x)

subplot(2,1,2)
boxplot(x,'PlotStyle','compact')
多组数据
多组数据

04. 多组不同长度数据的情况

对于多组不同长度的情况,正好是我在使用中遇到的。这个时候需要使用到boxplot(x,g)中的g这个参数:

1
2
3
4
5
6
7
8
9
10
11
12
%% 创建数据
x1 = rand(5,1);
x2 = rand(10,1);
x3 = rand(15,1);
x = [x1; x2; x3];
%% 创建g参数
g1 = repmat({'First'},5,1); % 这个5表示的x1数据的长度,下同。
g2 = repmat({'Second'},10,1);
g3 = repmat({'Third'},15,1);
g = [g1; g2; g3];
%% 画图
boxplot(x,g)
多组不同长度数据
多组不同长度数据
CATALOG
  1. 1. 00. 介绍
  2. 2. 01. 单个数据的情况
  3. 3. 03. 多组相同长度的数据
  4. 4. 04. 多组不同长度数据的情况