Matlab中直方图的绘制

histogram函数

直方图属于数值数据的条形图类型,将数据分组为 bin。创建 Histogram 对象后,可以通过更改直方图的属性值修改它的各个方面。

histogram(X)
histogram(X,nbins)
histogram(X,edges)
histogram('BinEdges',edges,'BinCounts',counts)
histogram(C)
histogram(C,Categories)
histogram('Categories',Categories,'BinCounts',counts)
histogram(___,Name,Value)
histogram(ax,___)
h = histogram(___)

注释:
X-要分布到各bin的数据
C-分类数据
nbins-bin数量
edges-bin边界
Categories-直方图中包含的类别
counts-bin计数
ax-目标坐标区

1.向量直方图

生成 10,000 个随机数并创建直方图。histogram 函数自动选择合适的 bin 数量,以便涵盖 x 中的值范围并显示基本分布的形状。

x = randn(10000,1);
h = histogram(x)


2.指定直方图的bin数量

对分类为 25 个等距 bin 的 1,000 个随机数绘制直方图。

x = randn(1000,1);
nbins = 25;
h = histogram(x,nbins)


3.更改直方图的bin数量

生成 1,000 个随机数并创建直方图。

X = randn(1000,1);
h = histogram(X)


使用 morebins 函数粗略调整 bin 数量。

Nbins = morebins(h);
Nbins = morebins(h)


4.指定直方图bin的边界

生成 1,000 个随机数并创建直方图。将 bin 边界指定为向量,使宽 bin 在直方图的两边,以捕获不满足 的离群值。第一个向量元素是第一个 bin 的左边界,而最后一个向量元素是最后一个 bin 的右边界。

x = randn(1000,1);
edges = [-10 -2:0.25:2 10];
h = histogram(x,edges);


将 Normalization 属性指定为 ‘countdensity’ 以使包含离群值的 bin 扁平化。现在,每个 bin 的区域(而不是高度)表示该 bin 的观测值频率。

h.Normalization = 'countdensity';


5.绘制分类直方图
创建一个表示投票的分类向量。该向量中的类别是 ‘yes’、‘no’ 或 ‘undecided’。

A = [0 0 1 1 1 0 0 0 0 NaN NaN 1 0 0 0 1 0 1 0 1 0 0 0 1 1 1 1];
C = categorical(A,[1 0 NaN],{'yes','no','undecided'})
h = histogram(C,'BarWidth',0.5)


6.具有指定归一化的直方图
生成 1,000 个随机数并使用 ‘probability’ 归一化创建直方图。

x = randn(1000,1);
h = histogram(x,'Normalization','probability')

7.调整直方图属性
准确指定bin数量

x = randn(1000,1);
h = histogram(x)
h.NumBins = 15;


通过向量指定 bin 边界。向量中的第一个值是第一个 bin 的左边界。最后一个值是最后一个 bin 的右边界。

x = randn(1000,1);
h = histogram(x)
h.BinEdges = [-3:3];


8.确定基本概率分布

x = 2*randn(5000,1) + 5;
histogram(x,'Normalization','pdf')


对于均值为 5、标准差为 2 的正态分布,叠加一个概率密度函数图。

x = 2*randn(5000,1) + 5;
histogram(x,'Normalization','pdf')
hold on
y = -5:0.1:15;
mu = 5;
sigma = 2;
f = exp(-(y-mu).^2./(2*sigma^2))./(sigma*sqrt(2*pi));
plot(y,f,'LineWidth',1.5)


9.Matlab中更改直方图颜色

x = randn(1000,1);
h = histogram(x)
h.BinEdges = [-3:3];
h.FaceColor = [0 0.8 0.5];
h.EdgeColor = 'm';


10.Matlab中绘制多个直方图histogram函数
生成两个随机数向量并在同一图窗中针对每个向量绘制对应的一个直方图。

x = randn(2000,1);
y = 1 + randn(5000,1);
h1 = histogram(x);
hold on
h2 = histogram(y);


由于直方图的示例大小和 bin 宽度不同,很难将它们进行比较。对这些直方图进行归一化,这样所有的条形高度相加的结果为 1 并使用统一的 bin 宽度。

h1.Normalization = 'probability';
h1.BinWidth = 0.25;
h2.Normalization = 'probability';
h2.BinWidth = 0.25;

Matlab中直方图的绘制histogram函数相关推荐

  1. 万字总结MATLAB中的图形绘制

    目录 二维曲线 1. plot函数 2.fplot函数 3.fimplicit函数 4.polarplot函数 5.contour函数和contourf函数 6.semilogx函数.semilogy ...

  2. Matlab中print, fprint, fscanf, disp函数的用法

    最近一直在用python,导致学习的一些函数就有点混淆,趁着这会儿看代码,就再回顾下Matlab中print, fprint, fscanf, disp函数的用法 一.print() 函数可以把函数图 ...

  3. matlab中load seamout,matlab中的save与load函数

    matlab中的save与load函数 用save函数,可以将工作空间的变量保存成txt文件或mat文件等. 比如: save peng.mat p j 就是将工作空间中的p和j变量保存在peng.m ...

  4. 邹检验 matlab,科学网—Matlab中一个很有用的函数:regionprops - 邹兴文的博文

    Matlab中一个很有用的函数:regionprops 已有 6712 次阅读 2010-1-30 22:52 |个人分类:开发经验|系统分类:科研笔记| 有用的函数, regionprops Mat ...

  5. MATLAB中柱形图的绘制

    MATLAB中柱形图的绘制 只说一种情况:例如:现在x=[256,512,1024],y=[10,20,50]; 如果直接bar(x,y);得到的图形会出现间隔,非常难看: 问题就出现在中间x轴上面的 ...

  6. 函数调用matlab,Matlab中一个函数调用另外一个函数的操作方法

    这篇文章为各位带来的内容是Matlab中一个函数调用另外一个函数相关的,对此感兴趣的用户可以去下文看看Matlab中一个函数调用另外一个函数的操作教程. Matlab中一个函数调用另外一个函数的操作方 ...

  7. matlab怎么调用主函数,Matlab中一个函数调用另外一个函数的操作步骤

    原创Matlab中一个函数调用另外一个函数的操作步骤 编辑:小安 来源:PC下载网时间:2019-11-18 13:27:35 最近很多伙伴才刚刚安装入手Matlab这款软件,而本节就重点介绍了关于M ...

  8. Matlab三维折线图绘制–surf 函数的使用

    Matlab三维折线图绘制–surf 函数的使用   最近在写毕业论文,整理数据需要绘制一个简单的三维图,简单做个分享! 先上结果图: 最后附上代码: clc,clear,close all; % f ...

  9. Matlab中用于数据预测spline()函数的使用

    Matlab中用于数据预测spline()函数的使用 ​ 再matlab中spline函数是利用三次方样条数据插值 语法 s = spline(x,y,xq) pp = spline(x,y) s = ...

  10. Matlab中产生正态分布随机数的函数normrnd-----用来产生高斯随机矩阵

     Matlab中产生正态分布随机数的函数normrnd-----用来产生高斯随机矩阵 功能:生成服从正态分布的随机数 语法: R=normrnd(MU,SIGMA) R=normrnd(MU,SI ...

最新文章

  1. Interview Q A 程序会在哪一行死掉
  2. 微软Office Online服务安装部署及wopi代码实现--------域控制服务器安装
  3. DIY人脸跟踪电风扇送女朋友(2)
  4. TensorFlow(八)激活函数
  5. linux时间修改-hwclock和date
  6. 永恒python地速_立竿见影地把你的 Python 代码提速7倍
  7. python迭代-如何对迭代器做切片操作
  8. Python基础(八)--迭代,生成器,装饰器与元类
  9. sql STUFF 分组
  10. 2025年全球5G设备将达到14亿部 但4G仍占主导地位
  11. 点击按钮重新加载ajax,Jquery AJAX点击链接,然后重新加载页面
  12. 微信小程序template模板 ,提高效率第二篇
  13. java tm 2已停止工作_Java(TM) 2 Platform Standard Edition binary 已停止工作
  14. 这 4 款电脑记事本软件,得试试
  15. 小程序apkg还原_狐妖小红娘手游背后,有这样一群“天真”的人
  16. 微信语音麦克风静音_微信中打电话静音是我被静音还是对方被静音,具体这个静音是什么意思...
  17. “有点笨”的数学大师迈克尔·弗里德曼
  18. 有功,无功,视在功率的关系公式和图
  19. exception的使用
  20. mysql查询学生表的总人数_mysql数据库查询练习

热门文章

  1. python批量图片转pdf,将TIFF图像批量转换为PDF ImageMagick Python
  2. php.ini gd_php安装gd扩展
  3. android 开机动画xp,XP下更改开机动画
  4. 中间件是什么意思?中间件技术简介
  5. 信息系统项目管理师(2022年) —— 第 11 章 项目风险管理
  6. Windows 下 Apple Mobile Device Support 安装失败导致 iTunes 无法连接分析和解决方案
  7. 用matlab数学建模报告,Matlab数学建模实验报告.doc
  8. mappedBy reference an unknown target entity property解决方法
  9. DSP 6678的中断系统
  10. 麦克纳姆轮全向移动原理(运动速度方向分析)