How to transform the normalized values of a histogram (i.e. the bars heights) in percentages?
14 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Sim
el 8 de Feb. de 2023
Comentada: Star Strider
el 8 de Feb. de 2023
How to transform the normalized values of this histogram (i.e. the bars heights) in percentages?
I should multiply the bars values by 100, but how to do it ? (maybe inside the "histogram" function)
a = [0 0 0 1 1 1 1 1 1 3 3 3 2 2 4 4 39 39 39 39 39 39 40 40 40 40 40 40 40 0 0 0 0 0 0 0 41 41 41];
histogram(a,'Normalization','probability')
This could be a workaround:
bar(histcounts(a)/(sum(histcounts(a)))*100)
BUT:
- the bars are shifted towards right (why??)
- I would like to still use the "histogram" function (if possible, obviously)
Any idea ?
3 comentarios
Respuesta aceptada
Star Strider
el 8 de Feb. de 2023
Altering the histogram plot is likely not possible because the ‘Values’ vector is read-only.
The easiest approach is likely to re-plot the bar plot using the derived values —
a = [0 0 0 1 1 1 1 1 1 3 3 3 2 2 4 4 39 39 39 39 39 39 40 40 40 40 40 40 40 0 0 0 0 0 0 0 41 41 41];
figure
hh = histogram(a,'Normalization','probability');
xlabel('Centers')
ylabel('Probability')
Values = hh.Values*100;
Cntrs = hh.BinEdges(1:end-1) + diff(hh.BinEdges)/2;
figure
bar(Cntrs, Values)
xlabel('Centers')
ylabel('Percent')
.
4 comentarios
Más respuestas (0)
Ver también
Categorías
Más información sobre Histograms en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!