Discover MakerZone

MATLAB and Simulink resources for Arduino, LEGO, and Raspberry Pi

Learn more

Discover what MATLAB® can do for your career.

Opportunities for recent engineering grads.

Apply Today

Can users pre-determine the legend location when utiliznig the gscatter function?

Asked by Brad on 26 Jun 2013

I'm putting together an M-file where I include several group scatter plots. For unknown reasons, I'm unable to pre-determine the legend location (NorthEastOutside). I can determine the location after the plot is created by manually editing the figure properties.

Is this a limitation of the function?


the cyclist on 27 Jun 2013

Are you able to give a small example of what you mean?

Brad on 27 Jun 2013

Cyclist, I was able to answer my own question.

Lets say we use the Mathworks example for the gscatter function:

load discrim; gscatter(ratings(:,1),ratings(:,2),group,'br','xo');

This yields the gscatter plot at the link above.

By issuing the following, I can now place the legend in the desired location.

>> legend('data1','data2','location','Northeastoutside')

However, the group IDs are not the same as before (1 and 2 versus data 1 and data 2). I was hoping to find a way where I could relocate the legend without losing the original group IDs. I can maintain the original IDs by placing the legend manually - using the edit figure properties.

Have you run into this before?


1 Answer

Answer by Brad on 1 Jul 2013
Accepted answer

The current answer is no.

Using the same example as above, the gscatter command will not allow the user to pre-position the legend. One workaround is to find the handle to the legend object and set the legend to the desired position.

load discrim figure, gscatter(ratings(:,1),ratings(:,2),group,'br','xo', [], 'on') % Find the handle to the legend object and set position l= findobj(gcf,'tag','legend'); set(l,'location','northeastoutside');

This answer provided by Amrita Anand (thanks).



Contact us