横向堆叠图(也称为水平堆叠条形图)是一种数据可视化工具,通过水平条形图的形式展示多个分类变量的构成比例或累积效果。
样图展示
横向堆叠图绘制方法
在MATLAB中,横向堆叠图可以通过调整常规堆叠图的坐标轴方向实现,主要使用barh函数结合数据堆叠选项完成。
数据准备
X表示有7个样本,A表示7个样本每个堆叠块的数值大小。共有4个堆叠块。
clc;clear;close all
%% 导入数据
X = [1,2,3,4,5,6,7];
A = [0.12,0.11,0.20,0.15,0.22,0.33,0.50;
0.13,0.14,0.15,0.19,0.20,0.25,0.40;
0.12,0.13,0.13,0.15,0.20,0.30,0.38;
0.15,0.20,0.21,0.23,0.28,0.28,0.42];
开始绘图
barh 是 Matplotlib 中用于绘制水平条形图的函数,适用于展示类别数据的比较或排序。
自定义颜色
调整坐标轴与样式
grid on
% 坐标区基本属性调整
set(gca, 'Box', 'off', ... % 边框
'LineWidth', 2, ... % 线宽
'XGrid', 'on', 'YGrid', 'on', ... % 网格
'TickDir', 'out', 'TickLength', [.01 .01], ... % 刻度
'XMinorTick', 'off', 'YMinorTick', 'off', ... % 小刻度
'XColor', [.1 .1 .1], 'YColor', [.1 .1 .1]) % 坐标轴颜色
% 坐标轴刻度调整
set(gca, 'XTick',0:0.2:3,... % 刻度位置、间隔、范围
'YTick',1:7,...
'Xlim' ,[0 1.8],...
'Ylim' , [0.3 7.7], ...
'Yticklabel',{'M1' 'M2' 'M3' 'M4' 'M5' 'M6' 'M7'},... % Y坐标轴刻度标签
'Xticklabel',{0:0.2:3}) % X坐标轴刻度标签
legend('A', 'B', 'C', 'D')
完整代码
clc;clear;close all
%% 导入数据
X = [1,2,3,4,5,6,7];
A = [0.12,0.11,0.20,0.15,0.22,0.33,0.50;
0.13,0.14,0.15,0.19,0.20,0.25,0.40;
0.12,0.13,0.13,0.15,0.20,0.30,0.38;
0.15,0.20,0.21,0.23,0.28,0.28,0.42];
%% 开始绘图
figure();
h = barh(X,A',0.7,'stacked','EdgeColor','k');
xlabel('数值','FontSize',20,'FontWeight','bold','FontName','宋体');
ylabel('样本','FontSize',20,'FontWeight','bold','FontName','宋体');
%% 配色
h(1).FaceColor = [251, 180, 174]/255;
h(2).FaceColor = [179, 205, 227]/255;
h(3).FaceColor = [204, 235, 197]/255;
h(4).FaceColor = [222, 203, 228]/255;
grid on
% 坐标区基本属性调整
set(gca, 'Box', 'off', ... % 边框
'LineWidth', 2, ... % 线宽
'XGrid', 'on', 'YGrid', 'on', ... % 网格
'TickDir', 'out', 'TickLength', [.01 .01], ... % 刻度
'XMinorTick', 'off', 'YMinorTick', 'off', ... % 小刻度
'XColor', [.1 .1 .1], 'YColor', [.1 .1 .1]) % 坐标轴颜色
% 坐标轴刻度调整
set(gca, 'XTick',0:0.2:3,... % 刻度位置、间隔、范围
'YTick',1:7,...
'Xlim' ,[0 1.8],...
'Ylim' , [0.3 7.7], ...
'Yticklabel',{'M1' 'M2' 'M3' 'M4' 'M5' 'M6' 'M7'},... % Y坐标轴刻度标签
'Xticklabel',{0:0.2:3}) % X坐标轴刻度标签
legend('A', 'B', 'C', 'D')
适用场景
业务分析
常用于销售、市场或财务数据的分析,如展示不同产品线在多个区域的销售额分布。
人口统计
用于展示人口结构、教育水平或就业情况在不同地区或时间的变化。
资源分配
可视化预算、时间或资源的分配情况,例如项目在不同阶段的资金投入比例。
学术研究
在社会科学或医学研究中,展示调查结果或实验数据的分类汇总。



1188

被折叠的 条评论
为什么被折叠?



