Question about matlab figure legend.

  • Context: MATLAB 
  • Thread starter Thread starter beanlet
  • Start date Start date
  • Tags Tags
    Figure Matlab
Join the discussion
Ask a follow-up here, or get your own question answered by working scientists, mathematicians and engineers — people, not an autocomplete.
Real named experts · corrections over time · the nuance an AI answer skips
2 replies · 15K views
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: 718
  • Saved_figure.png
    Saved_figure.png
    38.5 KB · Views: 630
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. :-)