Alignment of the Legend in Matlab Plot Figure

54 Ansichten (letzte 30 Tage)
I am trying to plot a figure with five sets of data with subplot is having individual legend but the problem is axis is getting mismatched when i trying to put the legend of plots having varies length of text.
x = [1:10];
y = 2*x;
z = x+1.25*y;
z1 = z+x;
subplot(4,1,1);
plot(x);
legend('x Variable','Location','NorthEastOutside');
subplot(4,1,2);
plot(y);
legend('y var','Location','NorthEastOutside');
subplot(4,1,3);
plot(z);
legend('z','Location','NorthEastOutside');
subplot(4,1,4);
plot(z1);
legend('z1 point','Location','NorthEastOutside');
When i am trying to plot.. i am getting the Figure like this -
All legends when location is 'NorthEastOutside' [when outside the plot] getting allocated right alignment of the legend. I want the data with equal axes length or left justified legend.
Is it possible to get the data with Left Justified without comprising on the axes length...?

Akzeptierte Antwort

Kanchibhotla Chandra Sekhar
Kanchibhotla Chandra Sekhar am 21 Apr. 2014
x = [1:10];
y = 2*x;
z = x+1.25*y;
z1 = z+x;
h(1)=subplot(4,1,1);
plot(x);
legend('x Variable','Location','NorthEastOutside');
h(2)=subplot(4,1,2);
plot(y);
legend('y var','Location','NorthEastOutside');
h(3)=subplot(4,1,3);
plot(z);
legend('z','Location','NorthEastOutside');
h(4)=subplot(4,1,4);
plot(z1);
legend('z1 point','Location','NorthEastOutside');
m=zeros(length(h),4);
for k=1:length(h)
m(k,:) = get(h(k),'Position');
end
m(:,3) = max(m(:,3));
for k=1:length(h)
set(h(k),'Position',m(k,:));
end
  2 Kommentare
Jeff Cron
Jeff Cron am 4 Jun. 2018
This no longer seems to work in R2018a??
Zoltán Gátmezei
Zoltán Gátmezei am 1 Mär. 2020
No longer seems to work in R2019b either

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Produkte

Community Treasure Hunt

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

Start Hunting!

Translated by