MATLAB Answers

how expand plots with different x-axis ranges

4 views (last 30 days)
Salvatore Savastano
Salvatore Savastano on 9 Dec 2019
Edited: Adam Danz on 11 Dec 2019
Hi folks,
I have a problem with plot some distributions. I have two bar plots with different x-range values: one of them is contained in the other but it's smaller and so when I try to plot both only one is clearly visible while the other is shown as a "spike". How can I do to visualize both of them?
Togive a better idea about my question I have attached the two plot shown separately and I would like to have both on the same figure avoiding the "spike" effect.plot_test1.png
plot_test2.png
Thank you in advance for your help

  0 Comments

Sign in to comment.

Accepted Answer

Adam Danz
Adam Danz on 9 Dec 2019
Specify the edges for both histograms rather than letting that funciton choose the bins.
If the data from histrogram #2 only covers a very tiny range of the data from histogram #1, it may not be easy to see two different distributions plotted on the same axes.
If this advice doesn't solve the problem you'll have to provide a few lines that reproduces the problem (the data and the code you're using).

  2 Comments

Salvatore Savastano
Salvatore Savastano on 9 Dec 2019
Dear Adam,
thank you for your reply.
<<If the data from histrogram #2 only covers a very tiny range of the data from histogram #1, it may not be easy to see two different distributions plotted on the same axes. >>
You have centred my problem: the data of histogram #1 (red) is a smaller interval of data of histogram #2 (blu). When I try to plot both on the same figure the smaller one becomes a sort of "spike" and it's not possible to see its distribution. Of course, if I try to zoom the area around the spike, th e distribution will appear again but the other one (the blu) won't be anymore visible. I would like to find a way to show both distributions.
The code I'm using is the following:
map = brewermap(2,'Set1');
figure;
title('Probability Density Function', 'FontSize',16);
xlabel('Pixel magnitude [dB]', 'FontSize',16);
ylabel('Probability density', 'FontSize',16);
axis tight;
b1 = bar(gxp1, 3*gyp1/max(gyp2), 1,'FaceColor',map(1,:),'FaceAlpha',0.5);
hold on
b2 = bar(gxp2, gyp2, 1,'FaceColor',map(2,:),'FaceAlpha',0.5);
Adam Danz
Adam Danz on 10 Dec 2019
Where does those first two inputs come from in bar() ?
Why not use histogram where you can specify the bar width. The suggestion in my answer would definitely make the bars visible for both distributions but there may be a lot fewer bars for 1 group than the other.
Alternatively you could scale the width parameter in bar(___,width)

Sign in to comment.

More Answers (0)

Sign in to answer this question.