[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: |
Mon, 3 Jun 2013 15:49:35 +0200 |
On 30.05.2013, at 03:16, "Abbott, Ben" <address@hidden> wrote:
>
> On May 30, 2013, at 4:19 AM, Lukas Reichlin wrote:
>
>> 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.
>
> axes (ax(1))
> plot (x1, y1)
> axes (ax(2))
> plot (x2, y2)
>
> Ben
Hi Ben,
What are ax(1) and ax(2)? It doesn't seem to work for me.
Lukas
- Re: Create subplots inside a subplot,
Lukas Reichlin <=