Problems with legend in R2016b

1 view (last 30 days)
Sebastien AMIOT
Sebastien AMIOT on 27 Mar 2017
Commented: Thomas Riedler on 3 Oct 2024
Why can I no longer add a plot with a legend in R2016b same way it used to be in previews versions?
During the migration to R2016b or R2017a, the script show some problems with legend function in the plot.
An example is a simple line after a plot: legend('Curve1','Curve2',1);
While it used to work fine prior to R2016b, we see the following response :
Error using legend>process_inputs (line 582) Invalid argument. Type 'help legend' for more information.
Error in legend>make_legend (line 340) [autoupdate,orient,location,position,children,listen,strings,propargs] = process_inputs(ha,argin); %#ok
Error in legend (line 294) make_legend(ha,args(arg:end),version);
Error in Script_plot (line 274) legend('Curve1','Curve2',1);

Answers (3)

Star Strider
Star Strider on 27 Mar 2017
The numeric location designations have been deprecated. Use the 'Location' name-value pair instead:
legend('Curve1','Curve2', 'Location','NE')
  6 Comments
DGM
DGM on 2 Oct 2024
Edited: DGM on 2 Oct 2024
In the versions that are old enough:
% 0 = 'Best'
% 1 = 'NorthEast'
% 2 = 'NorthWest'
% 3 = 'SouthWest'
% 4 = 'SouthEast'
% -1 = 'NorthEastOutside'
These were deprecated in R2013b, and were removed before R2015b
Thomas Riedler
Thomas Riedler on 3 Oct 2024
Thank you, that's what I was searching for!

Sign in to comment.


Kim Hans
Kim Hans on 3 Jun 2017
I have the same problem with matlab 2017a. So can help me ?

Sebastien AMIOT
Sebastien AMIOT on 6 Jun 2017
Hello,
The problem is not really how to add a legend anymore. We can read it thru Strider's answer, thanks, but also on the help. The question is more how to make sure our older Script to work on R2017a without changing each of the legend lines.
Thanks in advance,
  2 Comments
Star Strider
Star Strider on 6 Jun 2017
You have to go back and manually change all the legend calls in your old code.
Walter Roberson
Walter Roberson on 7 Jun 2017
Write your own legend.m function that you put higher in the priority and which detects the use of the old style calls and converts the arguments and calls the built-in legend

Sign in to comment.

Tags

Products

Community Treasure Hunt

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

Start Hunting!