MATLAB Answers


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

Asked by Brad
on 26 Jun 2013
Latest activity Edited by Óscar Miranda Domínguez on 3 Mar 2015

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?

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).

  1 Comment

It is easier to just silence the auto legend in gscatter by setting doleg as "off" Next, add the legend. Example:



Discover what MATLAB® can do for your career.

Opportunities for recent engineering grads.

Apply today