【Matlab绘图进阶第1弹】Matlab绘制高颜值箱式图

箱式图又称为箱线图、盒式图,用作显示一组数据分散情况的统计图,同时可以反映原始数据分布的特征,好看的箱式图对于论文的接收有很大的帮助,下面来和小编一起学习如何绘制一张高颜值带有显著性的箱式图吧。

成图效果展示

绘图三步走

  1. 配色

    配色是在绘制任何图的大前提,很多优秀的论文中时常有着高颜值的配色,较好的配色对于论文的接收起到关键的作用。

  2. 数据准备

    对于此次箱式图数据同样来源于大家的日常实验数据,此次小编箱式图的数据来自真实案例,大家也可以应用自己的数据。

  3. 函数的使用

    单组别多色箱式图所用到的函数主要有 boxplot、patch函数。

1. 配色

首先根据小编提供的SCI样图或者大家自己喜欢的颜色图片复制到PPT中取色,取色步骤同前两篇文章,最后需要将RGB值在Matlab中均转化为0-1之间的数,即均除以255。箱式图SCI样图如下: 

将图片在PPT中进行处理,插入形状—形状填充—取色器—取色—记录RGB值—归一化,将归一化后的数据在Matlab中读取保存,这样取色就完成啦。

 在Matlab中保存配色矩阵:

mycolor = [0.862745098039216,0.827450980392157,0.117647058823529;...
    0.705882352941177,0.266666666666667,0.423529411764706;...
    0.949019607843137,0.650980392156863,0.121568627450980;...
    0.956862745098039,0.572549019607843,0.474509803921569;...
    0.231372549019608,0.490196078431373,0.717647058823529];

2. 数据准备

数据是南同学从真实案例中读取的.mat格式的数据,大家同样可以根据自己的喜好与真实实验处理数据进行替换。数据读取代码如下:

%% 准备数据
load data.mat;
%坐标区域每组变量之间的标签
X ={' ','M1','M2','M3','M4','M5'};

3. 函数使用

箱式图需要的函数主要包括boxplot、patch、findobj。boxplot用于绘制箱线图、findobj获取箱线数据信息、patch用于填充颜色。绘图代码如下:

%% 开始绘图
%参数依次为数据矩阵、颜色设置、标记符
box_figure = boxplot(data,'color',[0 0 0],'Symbol','o');
%设置线宽
set(box_figure,'Linewidth',1.2);
boxobj = findobj(gca,'Tag','Box');
for i = 1:5
    patch(get(boxobj(i),'XData'),get(boxobj(i),'YData'),mycolor3(i,:),'FaceAlpha',0.5,...
        'LineWidth',1.1);
end
hold on;

现在主要的绘图步骤已经完成了,为了得到一张更加好看的箱式图,我们需要对坐标区元素进行设置与完善,下面是详细完善代码:

%% 设置坐标区域的参数
xlabel('变量','Fontsize',10,'FontWeight','bold','FontName','楷体');
ylabel('数值','Fontsize',10,'FontWeight','bold','FontName','楷体');
title('单组别多色箱式图','Fontsize',10,'FontWeight','bold','FontName','楷体');
set(gca,'Linewidth',1.1); %设置坐标区的线宽
set(gca,'Fontsize',11); % 设置坐标区字体大小
% 对X轴刻度与显示范围调整
set(gca,'Xlim',[0.5 5.5], 'Xtick', [0:1:5.5],'Xticklabel',X);
% 对Y轴刻度与显示范围调整
set(gca,'YTick', 2:0.5:7.5,'Ylim',[2 7.5]);
% 对刻度长度与刻度显示位置调整
set(gca, 'TickDir', 'in', 'TickLength', [.008 .008]);

这样一张高颜值的箱式图就已经完成啦!

下一期:Matlab绘制高颜值柱状图

“本期代码资料获取方式”:

完整代码与数据文件获取链接

  • 31
    点赞
  • 220
    收藏
    觉得还不错? 一键收藏
  • 6
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值