Best way to present histogram with different realisation number

조회 수: 3 (최근 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!
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')

채택된 답변

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);

카테고리

Help CenterFile Exchange에서 Data Distribution Plots에 대해 자세히 알아보기

태그

Community Treasure Hunt

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

Start Hunting!

Translated by