MATLAB Question about matlab figure legend.

  • Thread starter Thread starter beanlet
  • Start date Start date
  • Tags Tags
    Figure Matlab
AI Thread Summary
To save a figure from a MATLAB GUI that includes plots within a uipanel, the "copyobj" command can be used to duplicate the panel. However, users encounter issues with the legend not appearing, as the legend does not have a "Parent" property like other graphical objects. A solution involves recreating the legend by using the original strings used to generate it in the first plot. This can be done by creating a cell array of strings, which allows for easy reference to the legend entries. By accessing the axes object and recreating the legend, the issue can be resolved effectively.
beanlet
Messages
6
Reaction score
0
Hey folks,

I need to save a figure from my MATLAB GUI, which is just a simple plots. Because this plot is the child of a uipanel, so I just use "copyobj" command to copy the handle of the uipanel to the new figure. However, although everything is copied, the legend is not really showing up. I am confused and do not know how to do the setting.

legend does not have the "Parent" property, so I cannot just do the same setting as the other graphical objects in the plots. Can anyone give me any suggestions on this? Thanks a lot. :-)

I attached my screen shots here, and you can see the legend is gone...
 

Attachments

  • GUI.png
    GUI.png
    40.7 KB · Views: 689
  • Saved_figure.png
    Saved_figure.png
    38.5 KB · Views: 607
Physics news on Phys.org
In this matter, MATLABdude is a MATLABdud.

http://simpsons.wikia.com/wiki/Disco_Stu

EDIT: Legend doesn't have a handle. However, if you pass the string used to generate the first legend in the first plot, you can just recreate it in the second. You probably know this, but you can also make a matrix of strings (a cell array) using the {} braces. For instance:

>> bowlTeam = {'Fred', 'Tammy', 'Joe'};

Using bowlTeam{3} returns Joe. I believe bowlTeam(3) returns either an e, or is a syntax error. Mathworks documentation page on cell arrays:
http://www.mathworks.com/access/helpdesk/help/techdoc/matlab_prog/br04bw6-98.html
 
Last edited:
Thank you very much. I just tried to get that axes object, and recreate the legend. It works well. :-)
 

Similar threads

Replies
3
Views
3K
Replies
2
Views
1K
Replies
12
Views
3K
Replies
5
Views
3K
Replies
4
Views
2K
Replies
4
Views
5K
Back
Top