Best way to present histogram with different realisation number

4 visualizzazioni (ultimi 30 giorni)
I have two data sets as attached with different number of realisations and i want to compare between them. So, I created their histograms to present their realisations over each other’s as in the figure. However, it is hard to see the difference as the number of frequencies is different. Anyway, to present this better; maybe normalising it. Not really sure!
load('NPV_1000.mat')
load('NPV_10000.mat')
x1 = NPV_1000;
y1 = NPV_10000;
figure
h1 = histogram(x1);
hold on
h2 = histogram(y1);
xlabel('NPV ($B)')
ylabel('Frequency')
legend('1,000','10,000')

Risposta accettata

Arthur Roué
Arthur Roué il 29 Lug 2020
You can normalize directly with histogram function by changing Normalization property.
h1 = histogram(x1, 'Normalization', 'probability');
  2 Commenti
Yaser Khojah
Yaser Khojah il 29 Lug 2020
thanks so much, but are they going to have the same bin? and anyway to make them transparent
Arthur Roué
Arthur Roué il 29 Lug 2020
You're welcome. Check for histogram property in documentation, you can control appearance in many ways.
For bin numbers, use 2nd argument :
h1 = histogram(x1, nbBins, 'Normalization', 'probability');

Accedi per commentare.

Più risposte (1)

Steven Lord
Steven Lord il 29 Lug 2020
In the "Plot Multiple Histograms" example on the documentation page for histogram, we show one way to give two histogram objects consistent bins. Another way would be to set the BinEdges property (or specify the edges input) for one of the histogram objects using the BinEdges property of the other.
x = randn(1, 1e5);
y = 1 + randn(1, 1e5);
h1 = histogram(x);
hold on
h2 = histogram(y, h1.BinEdges);

Tag

Community Treasure Hunt

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

Start Hunting!

Translated by