How to visualize two histograms for comparative analysis?
조회 수: 109 (최근 30일)
이전 댓글 표시
Basically I have two datasets and I want to perform a comparative analysis by showing how many data fall under a specific range. Any idea as how to do it?
Thanks Alex
댓글 수: 3
Anupam Sharma
2019년 12월 12일
This is not working in following code. I am using it exactly as mentioned above but it shows the second histogram only. Can you help ?
% MATLAB R2019a
% Setup
N = [1:5 10 20 40];
LB = 0;
UB = 3;
n = 10000;
% Generate random variates
X = LB + (UB - LB)*rand(max(N),n);
Sn = cumsum(X);
mu = 1.5;
sigma = .75;
S_1 = mu + sigma.*randn(n, 1)
hist1= histogram(Sn(1,:),'Normalization','pdf','EdgeColor', 'blue', 'FaceColor', 'blue')
hold on
hist2 = histogram(S_1(:), 'EdgeColor', 'green', 'FaceColor', 'green', 'FaceAlpha', 0.2);
채택된 답변
Image Analyst
2018년 4월 10일
The histograms will tell you that - how many counts in each range. Use histogram() for visualization, or histcounts() and bar().
댓글 수: 3
the cyclist
2018년 4월 11일
Here is an example of using Image Analyst's idea of using both histcounts and bar:
x = randn(2000,1); y = 0.1 + randn(2000,1);
binRange = -3:0.5:3;
hcx = histcounts(x,[binRange Inf]); hcy = histcounts(y,[binRange Inf]);
figure bar(binRange,[hcx;hcy]')
추가 답변 (1개)
the cyclist
2018년 4월 10일
As shown in the documentation for the histogram histogram, you can plot two overlapping histograms on one figure like this
x = randn(2000,1);
y = 1 + randn(5000,1);
h1 = histogram(x);
hold on
h2 = histogram(y);
If you have the Statistics and Machine Learning Toolbox, you can also use the Kolmogorov-Smirnov test to determine whether the CDFs of the two distributions are statistically different.
댓글 수: 4
Milagre MANHIQUE
2022년 1월 28일
Thank you very much, I will proceed as you advise.
I thank you deeply.
Milagre MANHIQUE
참고 항목
카테고리
Help Center 및 File Exchange에서 Data Distribution Plots에 대해 자세히 알아보기
제품
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!