MATLAB Answers

Best way to present histogram with different realisation number

1 ビュー (過去 30 日間)
Yaser Khojah
Yaser Khojah 2020 年 7 月 29 日
回答済み: Steven Lord 2020 年 7 月 29 日
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!
x1 = NPV_1000;
y1 = NPV_10000;
h1 = histogram(x1);
hold on
h2 = histogram(y1);
xlabel('NPV ($B)')

  1 件のコメント

Adam Danz
Adam Danz 2020 年 7 月 29 日
An alternative to normalization is using two y-axes. See yyaxis.



Arthur Roué
Arthur Roué 2020 年 7 月 29 日
You can normalize directly with histogram function by changing Normalization property.
h1 = histogram(x1, 'Normalization', 'probability');

  2 件のコメント

Yaser Khojah
Yaser Khojah 2020 年 7 月 29 日
thanks so much, but are they going to have the same bin? and anyway to make them transparent
Arthur Roué
Arthur Roué 2020 年 7 月 29 日
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');


その他の回答 (1 件)

Steven Lord
Steven Lord 2020 年 7 月 29 日
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);

  0 件のコメント



Community Treasure Hunt

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

Start Hunting!

Translated by