Changing ylim properties of multiple plotyy figures
4 ビュー (過去 30 日間)
古いコメントを表示
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 件のコメント
採用された回答
Walter Roberson
2013 年 3 月 25 日
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 件のコメント
その他の回答 (2 件)
Azzi Abdelmalek
2013 年 3 月 25 日
Try
figure(7),
ax=gca,
set(ax(2),'ylim',[200 700]);
2 件のコメント
Walter Roberson
2013 年 3 月 25 日
gca cannot return both ax, as only one axis can be the current axis.
Nicolò Cogno
2019 年 5 月 15 日
編集済み: Nicolò Cogno
2019 年 5 月 15 日
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 件のコメント
Walter Roberson
2019 年 5 月 19 日
Note these did not exist at the time the question was originally asked ;-)
参考
カテゴリ
Help Center および File Exchange で Two y-axis についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!