Create Panel with 6 .fig Figures

31 views (last 30 days)
Ellyn Gray
Ellyn Gray on 27 Jan 2018
Commented: Ellyn Gray on 13 Jun 2018
I'm learning how to create a panel with figures already made with matlab and saved as .fig. I would like to learn how to use the panel function, but the tutorials are designed for someone plotting the data into each subplot, whereas I would like to upload an already-generated figure from my files. It is not realistic for me to put the lengthy and time consuming code that generated each figure into the routine.
I understand how to create the parent figure itself, but don't know how to upload the .fig files into the children. I took a stab by just assigning the figures to each child, but it didn't like that. Would love some other ideas because I've been searching forever!
Error I received: "Error using panel/subsasgn (line 2585) you cannot assign to a child panel"
vis=open('visibilityCV.fig'); %opens figures
tmin=open('TMINCV.fig');
prcp=open('PRCPCV.fig');
dpd=open('dewpointDepressionCV.fig');
ws=open('windSpeedCV.fig');
slp=open('SLPCV.fig');
p=panel(); %creates parent panel
p.pack(3,2); %packs a 3x2 grid
p(1,1).select(); %selects first subplot
p(1,1)=vis;
p(1,2).select();
p(1,2)=tmin;
p(2,1).select();
p(2,1)=prcp;
p(2,2).select();
p(2,2)=dpd;
p(3,1).select();
p(3,1)=ws;
p(3,2).select();
p(3,2)=slp;
Thank you!
  4 Comments
Photonics1000
Photonics1000 on 14 May 2018
Did you ever get an answer, Ellyn? I'm struggling with the same problem.
Ellyn Gray
Ellyn Gray on 13 Jun 2018
I honestly cheated and just used photoshop, because I was in a rush, but I will try these solutions later this month. Thank you to everyone for their feedback!

Sign in to comment.

Answers (1)

Veda Upadhye
Veda Upadhye on 29 Jan 2018
Edited: Walter Roberson on 15 May 2018
Hi Ellyn,
As Walter has pointed out, looks like you are using the File Exchange function 'panel' for your code: https://www.mathworks.com/matlabcentral/fileexchange/20003-panel
I would recommend you to take a look at the following MATLAB Answers post which makes use of MATLAB functions to create a figure with 2 existing figures. You may expand this to 6 figures.
Here you may use 'openfig' function instead of 'hgload'.
Hope this was helpful!
Thanks,
Veda
  2 Comments
Ellyn Gray
Ellyn Gray on 31 Jan 2018
Hi Veda, thanks for your thoughts. I was hoping to learn how to use the panel function rather than subplot since it's more customizable long term. Do you think subplot is just as good? Would I be able to adopt that syntax for using panel?
Walter Roberson
Walter Roberson on 15 May 2018
The point of #85219 is that you copyobj() content into container objects. Graphics objects can only be directly parented to axes or hggroup or hgtransform, but axes can be parented to uipanel or uitabgroup .

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!