overlay 2 histograms one over the other

12 views (last 30 days)
sani
sani on 19 May 2020
Answered: Vedant on 11 Apr 2025 at 9:26
Hello,
I'm ploting my data as histograms (there are 2 data sets, one is the original and the other is the the same set that been processed- basicly the relation between them is the X axis)
I want to present the 2 sets one over the other, but what I'm getting is this
how can I make the picks to be one over the other? as they are in the real data sets
another thing, is theres a way to present histogram as semi logarithmic with respect to Y axis?
Ge_energy = Ge_energy*0.3;
Ge_table.energy = Ge_table.energy*0.3;
figure(2)
histogram(Ge_energy,'DisplayStyle','stairs','BinWidth',0.1)
hold on
histogram(Ge_table.energy,'DisplayStyle','stairs','BinWidth',0.1)

Answers (1)

Vedant
Vedant on 11 Apr 2025 at 9:26
Hi @sani,
To present the sets one over the other as they are in real datasets, the bin edges need to be aligned. So, we can use common binedges for both the plots. The BinEdges can be specified as follows:
binEdges = 0:0.1:130;
histogram(Ge_energy, 'BinEdges', binEdges, 'DisplayStyle', 'stairs');
Ensure that the same BinEdges are used for the other histogram as well.
Additionally, to set the Y-axis to a logarithmic scale, you can use the set function as shown below:
set(gca, 'YScale', 'log');
For more information about the BinEdges attribute or the set function, please refer to the documentation using the following commands in the MATLAB command line:
web(fullfile(docroot, "/matlab/ref/set.html"));
web(fullfile(docroot,"/matlab/ref/matlab.graphics.chart.primitive.histogram.html"));

Community Treasure Hunt

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

Start Hunting!