【Matlab高端绘图SCI绘图模板】第001期 绘制帕累托图(Pareto)
1简介
本文介绍了如何使用Matlab实现绘制帕累托图,包括数据准备、特征因素排序、计算累计频率百分比、筛选核心特征。通过实例展示了帕累托图的绘制过程,适用于数据分析和论文写作。
帕累托图(Pareto chart)是将出现的质量问题和质量改进项目按照重要程度依次排列而采用的一种图表。以意大利经济学家V.Pareto的名字而命名的。帕累托图又叫排列图、主次图,是按照发生频率大小顺序绘制的直方图,表示有多少结果是由已确认类型或范畴的原因所造成。
2 绘制帕累托图的步骤
帕累托图是一种直方图,用于显示按重要性递减排列的因素的贡献。它基于帕累托法则,该法则表明80%的问题通常来自于20%的原因。绘制帕累托图的步骤包括:
(1)收集数据: 收集与问题或现象相关的数据,确保数据是可度量和可分类的。
(2)分类和排序: 将数据按照其贡献的重要性进行分类和排序。通常,这是按照贡献的大小进行的。
(3)绘制条形图: 使用条形图表示每个类别的贡献。类别按照重要性递减的顺序排列。
(4)添加累积百分比线: 添加一条表示累积百分比的线,以显示贡献的累积效果。
(5)分析结果: 通过帕累托图,可以清晰地看到哪些因素对整体有重大影响,使决策者能够更有针对性地解决问题。
3 整体效果图
4 关键代码展示:
%% 细节优化
% 对象属性调整
% 柱属性
p(1).BarWidth = 0.5;
p(1).LineWidth = 1;
p(1).FaceColor = C1;
p(1).FaceAlpha = 1;
% 折线属性
p(2).LineStyle = '--';
p(2).LineWidth = 2;
p(2).Color = C2;
% 坐标轴美化
set(ax(1), 'Box', 'off', ... % 边框
'LineWidth',1,... % 线宽
'XGrid', 'on', 'YGrid', 'on', ... % 网格
'TickDir', 'out', 'TickLength', [.01 .01], ... % 刻度
'XMinorTick', 'off', 'YMinorTick', 'off', ... % 小刻度
'XColor', [.1 .1 .1], 'YColor', [.1 .1 .1]) % 坐标轴颜色
set(ax(2), 'LineWidth',1,... % 线宽
'TickDir', 'out', 'TickLength', [.01 .01], ... % 刻度
'XMinorTick', 'off', 'YMinorTick', 'off', ... % 小刻度
'XColor', [.1 .1 .1], 'YColor', [.1 .1 .1]) % 坐标轴颜色
% 添加上框线
xc = get(gca,'XColor');
yc = get(gca,'YColor');
unit = get(gca,'units');
AX = axes( 'Units', unit,...
'Position',get(gca,'Position'),...
'XAxisLocation','top',...
'YAxisLocation','right',...
'Color','none',...
'XColor',xc,...
'YColor',yc);
set(AX, 'linewidth',1,...
'XTick', [],...
'YTick', []);
% 字体和字号
set(gca, 'FontName', 'Arial', 'FontSize', 10)
set([hXLabel, hYLabel], 'FontName', 'Arial', 'FontSize', 11)
set(hTitle, 'FontSize', 12, 'FontWeight' , 'bold')