Matlab实用代码——直方图的绘制并在单个直方图上标注对应数字

内容:绘制误差分布直方图,并在每个直方图上方显示对应数字。此外,返回一个数据表,该表是真实值、估计值、相对误差的统计。

代码连接:http://download.csdn.net/download/ckzhb/10229949

function [table_final] = barPlot(y_real,y_estimation)
% 统计分数score
% 绘制误差分布直方图
% Para:
%    输入均为列向量;

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%  绘制误差分布直方图  %%%%%%%%%%%%%%%%%%%%%%%%%%%
error = y_estimation - y_real;
table_final = table(y_real,y_estimation,error,100*error./y_real,...
     'VariableNames',{'real','estimation','error','relative_error'});
figure;
[errorNum,xaxis] = hist(error,[-60:10:60]); 
bar(xaxis,errorNum)
for i = 1:length(xaxis)
    text(xaxis(i),errorNum(i),num2str(errorNum(i),'%g'),...
    'HorizontalAlignment','center',...
    'VerticalAlignment','bottom')
end
xlabel('误差值');
ylabel('数量');
title('RUL误差分布直方图');
grid on;

end

结果:


代码详解:

1、table 构建一个数据表。

2、hist根据指定的区间(第二个参数)对数据(第一个参数)进行统计。

第一个返回值是频数统计,第二个返回值是区间即X轴。

3、bar命令绘制直方图。

4、for循环用于在每个直方图上方显示对应频数。



评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值