How to rescale the y-axis of a histogram?

23 visualizaciones (últimos 30 días)
Michael
Michael el 29 de Nov. de 2019
Respondida: Image Analyst el 29 de Nov. de 2019
Let' say that we have 100 data points, and we’re making a histogram.
[counts] = histcounts(data)
sum(counts) should equal to 100.
If I were to normalize the histogram, in other words, we normalize the y-axis, the total count would equal to 1.
Notice here I am not changing the original data, I am simply changing the counts or the y-scale.
Now, I would like to rescale the y-axis, such that the total count would equal 200.
The new plot should follow the same distribution as before, except it has a different y-scale.
Is there a way to do this?

Respuesta aceptada

Star Strider
Star Strider el 29 de Nov. de 2019
One approach:
X = randn(1, 420);
[N,edges] = histcounts(X, 'Normalization', 'probability');
xbar = edges(1:numel(N)) + mean(diff(edges))/2;
figure
bar(xbar, N)
grid
yt = get(gca, 'YTick');
ytix = linspace(min(yt), max(yt), 10);
set(gca, 'YTick',ytix, 'YTickLabel',fix(ytix*200/max(yt)))
Experiment to get different results.
  2 comentarios
Michael
Michael el 29 de Nov. de 2019
nice
Star Strider
Star Strider el 29 de Nov. de 2019
Thank you!

Iniciar sesión para comentar.

Más respuestas (1)

Image Analyst
Image Analyst el 29 de Nov. de 2019
You can use ylim() to scale the y axis. Use it to set the min and max value of the y axis to whatever you want them to be.

Categorías

Más información sobre Histograms en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by