没想到一个柱状图可以出这么多期……
在之前的文章中,分享了一个Matlab多组柱状图的绘制模板。

之所以直接出多组而不是单组,是想着方便大家举一反三的。
但分享了这么多期后发现,要说方便,那还是每一种数据图都出一个模板来的方便。
那这次就把单组柱状图补上。
先来看一下成品效果:

特别提示:Matlab论文插图绘制模板系列,旨在降低大家使用Matlab进行科研绘图的门槛,只需按照模板格式添加相应内容,即可得到满足大部分期刊以及学位论文格式要求的数据插图。如果觉得有用可以分享给你的朋友。
模板中最关键的部分内容:
1. 数据准备
此部分主要是读取数据,定义自变量和因变量。
% 读取数据% 自变量x = 1:10;% 因变量dataset =[0.341,0.493,0.324,0.428,0.333,0.341,0.493,0.324,0.428,0.333];
2. 颜色定义
颜色搭配比较考验个人审美,需要多加尝试。
这里我直接图省事儿,用之前分享的addcolorplus工具的渐变色:
%% 颜色定义map = addcolorplus(296);idx = linspace(1,64,10);idx = round(idx);C = map(idx,:);

其中,linspace(1,64,10)里的10表示因变量的个数,也就是bar的数量。
3. 多色单组柱状图绘制
使用‘bar’命令,绘制未经美化的单组柱状图。
GO =bar(x,dataset,0.6,'EdgeColor','k','LineWidth', 1);hXLabel = xlabel('Samples');hYLabel = ylabel('RMSE (m)');

4. 细节优化
为了插图的美观,赋上之前选择好的颜色。
GO.FaceColor = 'flat';for i = 1:10GO.CData(i,:) = C(i,:);end

进一步,调整坐标轴、坐标轴刻度及其标签,
% 坐标区调整set(gca, 'Box', 'off', ... % 边框'LineWidth', 1, 'GridLineStyle', '-',... % 坐标轴线宽'XGrid', 'off', 'YGrid', 'off', ... % 网格'TickDir', 'out', 'TickLength', [.015 .015], ... % 刻度'XMinorTick', 'off', 'YMinorTick', 'off', ... % 小刻度'XColor', [.1 .1 .1], 'YColor',[.1 .1 .1],... % 坐标轴颜色'YTick', 0:0.1:1,... % 刻度位置、间隔、范围'Ylim' , [0 0.6], ...'Xlim' , [0.3 10.7], ...'XTick', 1:10,...'Xticklabel',{1:10},... % X坐标轴刻度标签'Yticklabel',{[0:0.1:1]}) % Y坐标轴刻度标签
最后调节字体字号。
% 字体和字号set(gca, 'FontName', 'Helvetica')set([hXLabel, hYLabel], 'FontName','AvantGarde')set(gca, 'FontSize', 10)set([hXLabel, hYLabel], 'FontSize', 12)
设置完毕后,以期刊所需分辨率、格式输出图片。
%% 图片输出figW = figureWidth;figH = figureHeight;set(figureHandle,'PaperUnits',figureUnits);set(figureHandle,'PaperPosition',[0 0 figWfigH]);fileout = 'eg1';print(figureHandle,[fileout,'.png'],'-r300','-dpng');

也可以尝试不同的配色:

以上。
完整代码:
Matlab单组多色柱状图
https://mp.weixin.qq.com/s/iQogpnadGdjKb7g-Hhm-vA










