matlab - 如何创建直方图的直方图?

标签 matlab plot comparison histogram visualization

我使用两个脚本创建直方图,一个是 matlab 自带的 hist 函数,另一个是我下载的脚本。我下载的脚本采用绝对最小值和最大值并生成两者之间的直方图。但问题是,与 MATLAB 不同,此直方图不会显示。向我展示了一个矢量。

现在我正在使用 plot 从视觉上比较两者,但由于某种原因,比例发生了变化。例如,使用 MATLAB 的 hist 的直方图如下所示:

enter image description here

如果我在 plot 中显示此直方图,则 x 轴刻度会发生变化:

enter image description here

如何保持比例不变?

我需要这个,因为下载的脚本不会生成直方图,所以我使用 plot 来显示它。同样,该图介于 0 和 100 之间,我觉得这可能不是一个准确的比较

最佳答案

您似乎没有使用所有可用的信息。请参阅下面的代码,了解如何完成您想要的操作的示例:

%% Generate some data:
rng(42653042);
data = randn(300); data = (data-min(data(:)))*90+100;
data(1:4:end) = data(1:4:end)/2;
%% Plot using hist:
figure(); hist(data(:),100);
%% Return bin info using hist:
[N,X] = hist(data(:),100);
%% Plot the other function's output w/o X:
figure(); plot(N);
%% Plot the other function's output w/ X:
figure(); plot(X,N);
figure(); bar(X,N);

在较新版本的 MATLAB 中,函数 hist 应该替换为:

  • 直方图,当用于绘图时(即 hist 没有输出的情况)。
  • histcounts,当用于计数时(即带有输出的 hist 的情况)。

关于matlab - 如何创建直方图的直方图?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42653042/

相关文章:

java.sql.Timestamp 比较错误?

matlab - 如何在 Matlab 中比较两个不同维度的矩阵并获得相等行的频率?

matlab - 将matlab中 map 上的点与地球曲率连接起来

date - 在 Lua 中比较日期

matlab - 如何找到 `i` 的行 `A= nchoosek(1:m,n)`

python - 使用轴显示相关矩阵

plot - 如何在 Weka Explorer 中将可视化绘图导出为 png

r - 更改图例边框和图例标题之间的间距

arrays - 在 Matlab 中将 2D 矩阵组合成 3D 矩阵

matlab - 如何在 Haskell 中添加两个列表,如 matlab?