How to visualize two histograms for comparative analysis?
Show older comments
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 Comments
Pieter VL
on 6 Dec 2018
You can change the transparancy of the bars of the second histogram using the 'FaceAlpha' parameter to create a visible overlay as follows:
hist1 = histogram( ..., 'EdgeColor', 'blue', 'FaceColor', 'blue' );
hold on;
hist2 = histogram( ..., 'EdgeColor', 'green', 'FaceColor', 'green', 'FaceAlpha', 0.2 );
Anupam Sharma
on 12 Dec 2019
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
on 12 Dec 2019
Use subplot to put them into different axes.
Accepted Answer
More Answers (1)
the cyclist
on 10 Apr 2018
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 Comments
Alex
on 11 Apr 2018
Milagre MANHIQUE
on 28 Jan 2022
Hallo Matlab community
I would like to plot two histograms from two different datasets on the same graph (overlapping and transparent), but each of the histograms containing the respective fit curve.
I tried to use the histfit command on each dataset but was unsuccessful.
I ask for help please
Image Analyst
on 28 Jan 2022
Try histcounts() and bar()
Milagre MANHIQUE
on 28 Jan 2022
Thank you very much, I will proceed as you advise.
I thank you deeply.
Milagre MANHIQUE
Categories
Find more on Data Distribution Plots in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!