Changing ylim properties of multiple plotyy figures
4 views (last 30 days)
Show older comments
Hello,
I am creating multiple figures using plotyy inside a loop. After creating the figures, I want to change the y-limits of some of the figures manually. Figure properties only lets me change ax(1) properties but not ax(2) so I tried setting properties via command line but to no success.
This is my code for creating figures:
for k=1:30
figure(k)
[ax, h1, h2]=plotyy(year, precip.(varnames{k}),year,runoff.(varnames{k}));
set(gca,'NextPlot','add');
drawnow
print('-dtiff','-r200',varnames{k});
hold off
end
I then tried changing y-limits of ax(2) using this command:
figure(7),set(ax(2),'ylim',[200 700]);
But receive this error: ??? Error using ==> set Invalid handle object.
A few times matlab did run the command without producing an error but did not actually change the limits. I was wondering if you could show me how to get matlab to remember the axis handles I set when creating each figure so I can use them to change figure properties afterwards? Or another way to change plotyy properties after creating the figures? many thanks!
0 Comments
Accepted Answer
Walter Roberson
on 25 Mar 2013
You are overwriting ax each time through your loop, so it no longer refers to figure 7's ax.
findobj(7,'type','axis')
would get you both axis of figure 7; you would have to figure out which is which (perhaps by examining which side the label is set to be drawn on.)
2 Comments
More Answers (2)
Nicolò Cogno
on 15 May 2019
Edited: Nicolò Cogno
on 15 May 2019
Hi,
I would also suggest trying this:
figure(1), ax=gca;
set(ax.YAxis(1),'Limits',[0 1]);
set(ax.YAxis(2),'Limits',[0 1]);
1 Comment
Walter Roberson
on 19 May 2019
Note these did not exist at the time the question was originally asked ;-)
See Also
Categories
Find more on Two y-axis in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!