Even binned histogram to uneven bins?
4 次查看(过去 30 天)
显示 更早的评论
Hi all,
I have a csv file consisting of 256 bins each of 2mm width and I need to convert to uneven bins. 32 bins of 2mm width, 48 of 4mm width and 4 of 8mm depth. I would prefer not to use the bin edges as reference but rather the mid-point of the bins for reference but, if I need, I'll use the bin edges.
Can this be done using Matlab?
Apologies for not replying to my earlier posts.
Regards
Tim
0 个评论
回答(5 个)
Star Strider
2020-9-18
If you are using the histogram function, you can specify the bind widths using the edges option. See Specify Bin Edges of Histogram for a relevant example. Remeber that there is one more edge than the number of bins, so each bin must be defined as two specific bin edges. The histcounts function works similarly, if you are using that instead.
Steven Lord
2020-9-18
Let's make some sample data.
x = randi(255, 1, 1e5);
Use bin edges that are the squares of the integers between 1 and 16. Each bin but the last contains its left edge but not its right (this is the default behavior), the last contains both its edges.
h = histogram(x, (1:16).^2);
To make it easier to see that the bin edges are at those specific values, set the ticks.
xticks((1:16).^2)
Check that MATLAB reports that the bins are not of uniform width.
h.BinWidth
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Data Distribution Plots 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!