Matlab:用曲线绘制频率分布

2023-12-03

我必须在一张图上绘制 10 个频率分布。为了保持整洁,我想避免制作带有箱的直方图,并且更喜欢让线条沿着每个直方图的轮廓。

我尝试了以下方法

[counts, bins] = hist(data);
plot(bins, counts)

但这给了我一条非常不精确且锯齿状的线。

我读到了有关 ks Density 的内容,它给了我一条很好的曲线,但它改变了 y 轴的缩放比例,我需要能够从 y 轴读取频率。

你还能推荐什么吗?


您正在使用直方图的默认箱数,并且我假设您的核密度估计计算也使用默认的箱数。

正如您所发现的,根据您拥有的数据点数量,这肯定不是最佳的。首先要尝试的是计算最佳箱宽提供最平滑的曲线,同时尽可能保留底层 PDF。 (也可以看看here, here, and here);

如果您仍然不喜欢结果图的平滑程度,您可以尝试使用bins输出来自hist作为进一步的输入ksdensity。也许是这样的:

[kcounts,kbins] = ksdensity(data,bins,'npoints',length(bins));

我没有你的数据,所以你可能需要稍微调整一下参数才能得到你想要的。

或者,您可以尝试安装spline通过你得到的点hist并绘制它。

一些代码:

data = randn(1,1e4);

optN = sshist(data);

figure(1)
[N,Center] = hist(data);
[Nopt,CenterOpt] = hist(data,optN);
[f,xi] = ksdensity(data,CenterOpt);

dN = mode(diff(Center));
dNopt = mode(diff(CenterOpt));

plot(Center,N/dN,'.-',CenterOpt,Nopt/dNopt,'.-',xi,f*length(data),'.-')
legend('Default','Optimum','ksdensity')

结果:

Different styles of histogram

请注意,“最佳”箱宽度保留了分布的一些精细结构(我必须运行几次才能获得峰值),而ksdensity给出平滑的曲线。根据您在数据中寻找的内容,这可能是好是坏。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Matlab:用曲线绘制频率分布 的相关文章

  • 如何在 Matlab 中使用谷歌翻译?

    我正在编写一个程序 使用 Matlab 列出电影字幕文件中的所有唯一单词 现在我有一个独特的单词列表 我想将其翻译成我的语言并在观看电影之前了解其含义 有谁知道如何在 Matlab 中使用 Google Translate 以便完成我的脚本
  • 将相同的 Patch 实例添加到 matplotlib 中的多个子图中

    我正在尝试将补丁的相同实例添加到 matplotlib 中的多个轴 这是最小的例子 import matplotlib pyplot as mpl plt import matplotlib patches as mpl patches f
  • 不等间隔时间序列的移动平均线

    我有一个证券交易所股票价格的数据集 时间 价格 但数据点之间的间隔并不相等 从 1 到 2 分钟不等 在这种情况下计算移动平均值的最佳实践是什么 如何在Matlab中实现呢 我倾向于认为 点的权重应该取决于自上一个点以来的最后时间间隔 Ma
  • MATLAB - 如何将子图一起缩放?

    我在一张图中有多个子图 每个图的 X 轴是相同的变量 时间 每个图上的 Y 轴都不同 无论是它所代表的内容还是数据的大小 我想要一种同时放大所有图的时间尺度的方法 理想情况下 可以在其中一张图上使用矩形缩放工具 并让其他图相应地更改其 X
  • 在Python matplotlib中的plot_surface之上绘制单个3D点

    我有一些代码可以使用 matplotlib 在 Python 中绘制 3D 曲面 import math import numpy as np import matplotlib pyplot as plt from pylab impor
  • 句柄类和值类的区别

    我有一些 C 背景 想使用 Matlab 中的类 句柄和值类有什么区别 我知道如果我想定义一个带有重载运算符 例如 和 的矩阵类 我会使用值类 然而 有时 当我选择一个手柄类时 事情似乎只对我有用 MathWorks 提供了一些有关其用途的
  • 使用ggplot2绘制多条曲线

    假设我有一个数据框coefs其中每行包含曲线的模型系数 coefs lt structure list a1 c 1 22228259789383 1 2064168157394 1 09555089661994 0 94394743347
  • 在 MATLAB 中重命名文件

    我正在尝试以编程方式重命名工作目录中的文件a temp txt to b hello txt 您建议如何这样做 MATLAB中有一个简单的文件重命名函数吗 我认为您正在寻找 MOVEFILE
  • Numpy直方图,如何取每个bin中的最大值

    我有一系列数字 与上面的代码一起存储 是否可以返回每个 bin 中的最大数量 看一下示例代码 from numpy import a array 1 4 5 6 7 8 9 3 4 5 6 3 5 6 8 9 10 bins arange
  • 如何在 Matlab 中对数组应用低通或高通滤波器?

    有没有一种简单的方法可以将低通或高通滤波器应用于 MATLAB 中的数组 我对 MATLAB 的强大功能 或数学的复杂性 有点不知所措 需要一个简单的函数或一些指导 因为我无法从文档或网络搜索中找到答案 看着那 这filter http w
  • 如何在没有安装Visual Studio的另一台机器上使用Visual Studio生成的dll?

    我已经在 Visual Studio 2012 中生成了动态库 我想在另一台机器上使用该库 但我不想在远程机器上安装 Visual Studio 我有 mex 库和 dll 我想运行一个使用这两个库的脚本 当我运行脚本时 出现以下错误 缺少
  • 为什么我的 R 直方图中的第一个条形那么大?

    我正在使用 R 我尝试使用以下 R 脚本可视化 1000 次骰子投掷的分布 cases lt 1000 min lt 1 max lt 6 x lt as integer runif cases min max 1 mx lt mean x
  • 更改 ggplot 对象的数据集

    我正在绘制数据的子集ggplot2我想知道我是否会以某种方式使用已包含在ggplot原始数据子集中的对象 举个例子 这是第一个图 代码块 1 require ggplot2 p lt ggplot mtcars aes mpg wt col
  • MATLAB:具有复数的 printmat

    我想使用 MATLAB 的printmat显示带有标签的矩阵 但这不适用于复数 N 5 x rand N 1 y rand N 1 z x 1i y printmat x y z fftdemo N 1 2 3 4 5 x y x iy O
  • 如何在 Matlab 中将数组打印到 .txt 文件?

    我才刚刚开始学习Matlab 所以这个问题可能非常基本 我有一个变量 a 2 3 3 422 6 121 9 4 55 我希望将值输出到 txt 文件 如下所示 2 3 3 422 6 121 9 4 55 我怎样才能做到这一点 fid f
  • 基本 R 图:帮助减少多个图之间的空间

    我试图减少一个窗口中多个绘图之间的空间量 但无法实现我想要的 情节和代码如下 我想将图例保留在原处 但减少 B 和 C 之间的空间 如何将图 C 向左 移动到靠近图 B 的位置以模仿 A 和 B 之间的间距 同时保持图例就位 我希望传奇是独
  • 括号中的波形符字符

    在 MATLAB 中 以下代码执行什么操作 m func returning matrix 波浪号运算符 的作用是什么 在 Matlab 中 这意味着不要将函数中相应的输出参数分配到赋值的右侧 因此 如果func returning mat
  • 如何绘制沿染色体图形的位置

    我想生成一个图 描绘我所研究的生物体的 14 条线性染色体 按比例绘制 并在每条染色体的指定位置上用彩色条表示 理想情况下 我想使用 R 因为这是我有经验的唯一编程语言 我探索了多种方法来做到这一点 例如使用 GenomeGraphs 但我
  • 如何使用 MATLAB 的 substruct 函数创建表示使用“end”的引用的结构?

    我想使用substruct http www mathworks com help matlab ref substruct html函数创建一个结构体以供使用subsref 目的是使用索引字符串subsref而不是通常的 符号 因为我正在
  • 删除ggplot2中的负图区域[重复]

    这个问题在这里已经有答案了 如何删除 ggplot2 中 x 轴和 y 轴下方的绘图区域 请参见下面的示例 我尝试了几个主题元素 panel border panel margin plot margin 但没有任何运气 p lt ggpl

随机推荐