[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Create subplots inside a subplot
From: |
Lukas Reichlin |
Subject: |
Re: Create subplots inside a subplot |
Date: |
Wed, 29 May 2013 22:19:49 +0200 |
On 29.05.2013, at 18:33, PetrSt <address@hidden> wrote:
> Subplot creates axes as children of figure. I don't think it could create
> axes as children of axes. So you can place your axes manualy
> (axes("outerposition",...)), what you probably want to avoid, or use
> subplot.
>
> If the gcf points to desired figure, you can call subplot wherever you want,
> e.g. inside your bode function. You can ensure that by
> set(0,"currentfigure",fig), where fig is a figure handle passed to your
> function as input argument. You can also create axes forehand by subplot,
> pass its handle and then just make graph, e.g. plot(ax,...), where ax is
> handle of desired axes.
>
> function bode(sys)
> subplot(4,2,1); plot();
> subplot(4,2,3); plot();
> end
>
> or more safer
>
> fig = figure;
> bode(sys,fig);
> ---
> function bode(sys,fig)
> body of bode
> set(0,"currentfigure",fig);
> subplot(4,2,1); plot();
> subplot(4,2,3); plot();
> end
>
> or
>
> fig = figure;
> ax(1) = subplot(4,2,1);
> ax(2) = subplot(4,2,3);
> ax(3) = subplot(4,2,[2,4]);
> ax(4) = subplot(4,2,[5,7]);
> ax(5) = subplot(4,2,[6,8]);
>
> bode(sys,ax);
> ---
> function bode(sys,ax)
> ...
> plot(ax(1),x1,y1);
> plot(ax(2),x2,y2);
> end
>
Thanks so far, but for Matlab compatibility, I need a solution without passing
a figure handle.
Regards,
Lukas