Bootstrap

【Matlab高端绘图SCI绘图模板】第006期 对比绘柱状图 (只需替换数据)

1. 简介

柱状图作为科研论文中常用的实验结果对比图,本文采用了3组实验对比的效果展示图,代码已调试好,只需替换数据即可生成相关柱状图,为科研加分。通过获得Nature配色的柱状图,让你的论文看起来档次更高,让你的科研更快地进行成果产出。用户能够生成既美观又精确的数据可视化图表。代码涵盖了从数据准备到最终图像输出的全过程,包括文件读取、颜色自定义、图形界面设置、数据可视化以及图像导出等关键步骤。适合数据科学家、工程师、学生或任何需要在科研、报告或日常工作中进行数据可视化的Matlab用户。用户可以根据自己的需求修改数据读取范围和颜色设置,以适应不同的数据集和视觉喜好。

2. 对比柱状图完整效果

3. 关键代码展示

%% 图片尺寸设置(单位:厘米)

figureUnits = 'centimeters';

figureWidth = 12;

figureHeight = 8;

%% 柱状图绘制

%窗口设置

figureHandle = figure;

set(gcf, 'Units', figureUnits, 'Position', [0 0 figureWidth figureHeight]); % define the new figure dimensions

hold on

% 绘制柱图

% 1-调节柱间距

GO = bar(dataset,1,'EdgeColor','k');

% 赋色

GO(1).FaceColor = C1;

GO(2).FaceColor = C2;

GO(3).FaceColor = C3;

% 文字注释,不需要可删

for ii=1:5

    text(ii-0.24,dataset(ii,1)+0.005,num2str(dataset(ii,1)),...

         'ROtation',90,'color',C1,'FontSize',10,'FontName',  'Helvetica');

    text(ii,dataset(ii,2)+0.01,num2str(dataset(ii,2)),...

         'ROtation',90,'color',C2,'FontSize',10,'FontName',  'Helvetica');     

    text(ii+0.22,dataset(ii,3)+0.01,num2str(dataset(ii,3)),...

         'ROtation',90,'color',C3,'FontSize',10,'FontName',  'Helvetica');  

end

% 坐标区调整

set(gca, 'Box', 'off', ...                                         % 边框

         'XGrid', 'off', 'YGrid', 'on', ...                        % 网格

         'TickDir', 'out', 'TickLength', [.01 .01], ...            % 刻度

         'XMinorTick', 'off', 'YMinorTick', 'off', ...             % 小刻度

         'XColor', [.1 .1 .1],  'YColor', [.1 .1 .1],...           % 坐标轴颜色

         'YTick', 0:0.1:1,...                                      % 刻度位置、间隔

         'Ylim' , [0 0.6], ...                                     % 坐标轴范围

         'Xticklabel',{'samp1' 'samp2' 'samp3' 'samp4' 'samp5'},...% X坐标轴刻度标签

         'Yticklabel',{[0:0.1:1]})                                 % Y坐标轴刻度标签

% 标签及Legend 设置    

hYLabel = ylabel('RMSE (m)');

hLegend = legend([GO(1),GO(2),GO(3)], ...

                 'A', 'B', 'C', ...

                 'Location', 'northeast');

% Legend位置微调 

P = hLegend.Position;

hLegend.Position = P + [0.015 0.03 0 0];

;