How to get the data as output along with the histogram plot?

3 次查看(过去 30 天)
Hi,
I have a set of data which looks like
0.499783
0.499669
0.500231
0.499909
0.499542
0.50018
0.500785
0.49823
.... and so on (say I haev 50000 rows)
Now I am plotting
histogram(S,'Normalization','probability') , where S is the column containing the data.
I get the normalized probability histogram as a plot. But I want the data that is finally plotted, i.e., no. of hits in each bin or something like that. Such that in future I can get the same histogram plot without using the original raw data. Is that possible?

采纳的回答

Tommy
Tommy 2020-6-1
You could request output from histogram():
h = histogram(S,'Normalization','probability');
and access properties such as h.BinEdges, h.BinCounts, h.Values, etc, described here.
Or you could use histcounts(), described here, after you plot your histogram:
histogram(S,'Normalization','probability');
[binCounts,binEdges] = histcounts(S,'Normalization','probability');
  5 个评论
Tommy
Tommy 2020-6-3
A histogram is basically a bunch of adjacent bars, with one bar per bin. So you could determine the centers of each bin and then call bar(), using a width of 1 to avoid any gap between the bins:
binCenters = binEdges(1:end-1) + diff(binEdges)/2;
bar(binCenters, binCounts, 1)
By adjusting the color and x limits (and possibly other properties) you could probably replicate the histogram plot exactly.
Using
histogram('BinEdges', binEdges, 'BinCounts', binCounts)
would definitely create the exact same plot (or at least I assume it would).

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Histograms 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by