How to change the axis location for multiple subplots ?
4 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
I try to change the axis location for 2 subplots
when I entered this code
n = [-5:5];
x = 2*impseq(-2,-5,5) - impseq(4,-5,5);
subplot(2,2,1);
stem(n,x);
ax=gca;
ax.XAxisLocation = 'origin';
ax.YAxisLocation = 'origin';
title('Sequence in Problem 2.1a');
xlabel('n'); ylabel('x(n)');
ax.Box = 'off';
ax.Layer = 'top';
n = [0:20];
x1 = n.*(stepseq(0,0,20)-stepseq(10,0,20));
x2 = 10*exp(-0.3*(n-10)).*(stepseq(10,0,20)-stepseq(20,0,20));
x = x1+x2;
subplot(2,2,3);
stem(n,x);
ax.XAxisLocation = 'origin';
ax.YAxisLocation = 'origin';
title('Sequence in Problem 2.1b');
xlabel('n'); ylabel('x(n)');
It changes it for the first subplot only ..why is this?
0 commentaires
Réponses (2)
Jan
le 14 Déc 2017
Modifié(e) : Jan
le 14 Déc 2017
Because your
ax.XAxisLocation = 'origin';
ax.YAxisLocation = 'origin';
concerns the same object "ax". Try this:
ax2 = subplot(2,2,3);
stem(n,x);
ax2.XAxisLocation = 'origin';
ax2.YAxisLocation = 'origin';
Note that
ax = subplot(2,2,1);
is safer than;
subplot(2,2,1);
stem(n,x);
ax=gca;
If the user clicks around in the GUI during stem works, the current axes replied by gca is changed. Better catch the handles directly from the function, which creates the objects instead of searching them afterwards by gca or gcf.
5 commentaires
Jan
le 17 Déc 2017
@omar khater: While "I want the subplot 2,3 to be as 1" is clear to you, the readers have to guess, what this means. Remember that I do not have the faintest idea about what you want.
As you see in the attached image, I want...
The image shows, what you get, but not what you want instead.
The posted code does exactly, what is expected. The locations of the axes are moved to the corresponding origins - this is on the left for the upper right axes, and on the left bottom corner for the lower axes. So please explain exactly what does not appear as you want.
Yoseph
le 6 Oct 2022
n = [-5:5];
x = 2*impseq(-2,-5,5)-impseq(4,-5,5);
stem(n,x); title('Sequence in Problem 2.1a')
xlabel('n'); ylabel('(n)');
0 commentaires
Voir également
Catégories
En savoir plus sur 2-D and 3-D Plots dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!