如何用MATLAB画条形统计图?

在MATLAB中绘制条形统计图,主要使用的是bar函数及其相关的变种,如barh(用于绘制水平条形图)、bar3(用于绘制三维竖直条形图)和bar3h(用于绘制三维水平条形图)。以下是绘制条形统计图的基本步骤和示例:

一、基本步骤

准备数据:

确定要展示的数据。这些数据可以是向量或矩阵。
如果数据是矩阵,MATLAB会将矩阵的每一行或列视为一个数据组,并绘制相应的条形图。

调用bar函数:

使用bar(Y)绘制Y中每个元素的条形图,其中Y是向量或矩阵。
如果需要指定X轴的位置,可以使用bar(X,Y)。

美化图形(可选):

设置条形的颜色、宽度、样式等。
添加图例、标题、坐标轴标签等。
二、示例
示例1:绘制简单条形图

假设我们有一组数据,表示不同类别的人数:
% 数据
categories = {'男', '女', '其他'};
counts = [50, 30, 20];

% 绘制条形图
bar(counts);

% 设置X轴标签
set(gca, 'XTickLabel', categories);

% 添加标题和坐标轴标签
title('人数统计条形图');
xlabel('性别/类别');
ylabel('人数');

示例2:绘制堆叠条形图

如果我们想要展示不同类别中,子类别所占的比例,可以使用堆叠条形图:
% 数据
categories = {'男', '女'};
subcategories = {'学生', '教师', '其他'};
data = [
    10, 20, 10;  % 男性
    5, 15, 10    % 女性
];

% 绘制堆叠条形图
bar(data, 'stacked');

% 设置X轴标签
set(gca, 'XTickLabel', categories);

% 添加图例
legend(subcategories);

% 添加标题和坐标轴标签
title('性别分类统计堆叠条形图');
xlabel('性别');
ylabel('人数');

示例3:绘制水平条形图
% 数据
categories = {'苹果', '香蕉', '橙子'};
counts = [20, 30, 15];

% 绘制水平条形图
barh(counts);

% 设置Y轴标签
set(gca, 'YTickLabel', categories);

% 旋转Y轴标签以便更好地阅读
set(gca, 'YTickLabelRotation', 45);

% 添加标题和坐标轴标签
title('水果销量水平条形图');
xlabel('销量');
ylabel('水果种类');

三、注意事项
当数据是矩阵时,MATLAB默认按行绘制条形图。如果希望按列绘制,可以使用bar(Y')(注意Y'是Y的转置)。
条形图的样式、颜色、宽度等都可以通过bar函数的附加参数来设置。
为了美化图形,可以添加图例、标题、坐标轴标签等,并调整其位置和样式。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值