如何在matlab中为一些数据创建箱线图

How to create boxplot for some of data in matlab

我在 excel 中有两个专栏。我将它导入 matlab 并为它们创建箱线图。
我使用 boxplot 函数:

boxplot(BasePay,JobTitle)

现在我想为 JobTitle 的某些值创建箱线图,例如 JobTitle1JobTitle2。这些是我的数据:

Job Title   Base Pay
JobTitle1   486927.08
JobTitle1   461785.8
JobTitle2   523782.43
JobTitle4   388849.77
JobTitle2   380452.08
JobTitle1   450053.76
JobTitle2   546416.52
JobTitle3   384411.2
JobTitle4   353637.71
JobTitle4   311209.74
JobTitle3   355242.48
JobTitle2   359855.85

我不确定你是如何保存这些数据的,但假设 JobTitle 的元胞数组和 BasePay 的向量,你可以这样写:

boxplot(BasePay(strcmp(JobTitle,'JobTitle1') | strcmp(JobTitle,'JobTitle2')));

如果您想查看多个箱线图,最好这样做:

grp = strcmp(JobTitle,'JobTitle1') | strcmp(JobTitle,'JobTitle2');
boxplot(BasePay,grp);
bp = gca;
bp.XTickLabel = {'all other','JobTitle1&2'};

或者,如果你只想绘制 JobTitle1JobTitle2 但分开,你可以写:

boxplot(BasePay(grp),JobTitle(grp)); 

使用上面的 grp 变量,无需设置标签。