作者:aatwo19668035 | 来源:互联网 | 2023-07-16 19:47
方法:boxplot是用MATLAB的boxplot函数进行绘制,此处仅为个人经验总结方便后续查阅,详细参考matlab帮助。注意事项:boxplot是对矩阵的每一列进
目录 来源方法:boxplot绘制双轴图双y轴绘图横坐标处理
来源
读论文看到别人画的实验数据是一个一个盒子,而自己之前是用的是直方图或者条形图。有关条形图绘制参考:Matlab实验数据条形图 bar。
方法:boxplot
是用MATLAB的 boxplot 函数进行绘制,此处仅为个人经验总结方便后续查阅,详细参考matlab帮助。
注意事项:
boxplot 是对 矩阵的每一列 进行绘制的。如果想同时绘制多个箱子,需要把 boxplot(x,g) 的 x 参数按照列整理,参数 g 是箱子的横坐标,当然可以是文字,详细看帮助手册。 参数 g 是行向量。 而且 g 其实是把其包含的信息对应绘制在横轴为1,2.3.4.5.6…处。不可以一个一个箱子绘制,只能把数据排成矩阵按列绘制。
箱式图图形解读:
中间横线便是中位数;箱子下边缘是 25% 处数据,上边缘是 75% 处数据;虚线延伸出来的下边缘是这组数据的最小值,上边缘是这组数据的最大值;离群值 使用 ‘+’进行标注
绘制双轴图
boxplot只绘制了箱式图,但是其信息中没有表达标准差,所以想在箱式图上添加标准差曲线。
双y轴绘图
由于箱式图不可以一个一个箱子绘制,即后一次绘制会默认删除之前的图像。 hold on 不起作用, 所以此处需要使用双y轴绘制。
方法一:
yyaxis leftyyaxis right
方法二:
plotyy
此处选用 yyaxis 函数。
横坐标处理
由于前面提到, 参数 g 其实是把其包含的信息对应绘制在横轴为1,2.3.4.5.6…处。, 在绘制标准差曲线时需要把标准差曲线的横坐标对应映射到横坐标序列: 1,2.3.4.5.6…
% 控制两个坐标轴的颜色% newcolors = [0.83 0.14 0.14% 0.25 0.80 0.54];% colororder(newcolors)colororder({'k','b'})% 绘图yyaxis left;% to fit the x label from boxplot, the x axis here should be revisedplot(Results(1:8,2)*0.1+1, Results(1:8,4), 'LineWidth', 1.5);yyaxis right;boxplot(Exp_Results_L40(3:end, :), Exp_Results_L40(2,:));