Even binned histogram to uneven bins?

4 visualizzazioni (ultimi 30 giorni)
Tim Fulcher
Tim Fulcher il 18 Set 2020
Commentato: Star Strider il 21 Set 2020
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

Risposte (5)

Star Strider
Star Strider il 18 Set 2020
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.
  5 Commenti
Tim Fulcher
Tim Fulcher il 19 Set 2020
Thanks SS. I'll try that when I get the time (see post below. Bastard employers want their pound of flesh. Nah, they're good and support me but I still need to do real work).
T

Accedi per commentare.


Steven Lord
Steven Lord il 18 Set 2020
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
  1 Commento
Tim Fulcher
Tim Fulcher il 18 Set 2020
Thanks Steven, as per the previous reply I'll give that a go.

Accedi per commentare.


Tim Fulcher
Tim Fulcher il 19 Set 2020
Modificato: Tim Fulcher il 19 Set 2020
I tried the histogram option you guys suggested. It's better but not quite there.
Two attachments: what it should look like and what histogram is throwing out. The latter looks like it's taking the average of the data for those bin sizes and putting that average into all the bins of that size. I'll have a look at the data in the next few days (sorry, I'm a part time PhD student and have to earn my crust to pay the uni fees) and see whether that is the case.
And yes, if you're interested, it is a Bragg Peak.
T

Tim Fulcher
Tim Fulcher il 19 Set 2020
Modificato: Tim Fulcher il 19 Set 2020
Here's the result from histogram:

Tim Fulcher
Tim Fulcher il 21 Set 2020
Modificato: Tim Fulcher il 21 Set 2020
Hi guys,
eventually I went for hard coded. Tedious and inflexible but I think, in this case it might be the best solution.
Thanks very much for your help.
T

Categorie

Scopri di più su Data Distribution Plots in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by