フィルターのクリア

Why do I get an error updating legend in Matlab 2017b?

41 ビュー (過去 30 日間)
Eivind Hennestad
Eivind Hennestad 2017 年 12 月 15 日
コメント済み: zahra sohrabi 2020 年 9 月 21 日
I try to make a simple legend using the following code:
figure;
myLine = plot(1:10, 'DisplayName', 'This is a straight line');
legend(myLine)
And I receive this error:
Warning: Error updating Legend.
Not enough input arguments.
Also, the legend looks weird (see attached image). I have tried many different input arguments to the legend function, and I have copy pasted examples from the legend documentation, and everything throws the same error.
Any help would be appreciated.
  10 件のコメント
Eivind Hennestad
Eivind Hennestad 2018 年 5 月 11 日
A better option would be to add CVX but remove CVX' own narginchk function:
addpath(genpath('CUSTOMPATH/cvx'))
rmpath('CUSTOMPATH/cvx/lib/narginchk_:')
Note: I do not know if this will interfere with cvx in any way.
PS: I submitted a bug report to cvx about this.
Edoardo Della Santa
Edoardo Della Santa 2018 年 10 月 4 日
Hi everyone i still get the warning message even if i remove the narginchk function what am i suppose to do? can anyone help me?

サインインしてコメントする。

採用された回答

Eivind Hennestad
Eivind Hennestad 2018 年 5 月 11 日
編集済み: Eivind Hennestad 2018 年 5 月 11 日
This seems to happen when adding CVX ( http://cvxr.com/cvx/download/ ) to the matlabpath.
A possible fix:
addpath(genpath('CUSTOMPATH/cvx'))
rmpath('CUSTOMPATH/cvx/lib/narginchk_:')
Note: I do not know if this will interfere with cvx in any way.
PS: I submitted a bug report to cvx about this.

その他の回答 (3 件)

Andrew Taylor
Andrew Taylor 2018 年 1 月 18 日
Wanted to update this with something I noticed.
I played around with my startup.m file and the toolboxes I had on the search path. I found that if I ran the suggested fix above, I could add all of my toolboxes back except for CVX, found below, and the legend would display properly.
It looks like they still have some bugs when working with 2017a and later. Hopefully this is just a temporary solution, I'd hope this gets resolved as CVX gets updated.
  2 件のコメント
Eivind Hennestad
Eivind Hennestad 2018 年 5 月 11 日
編集済み: Eivind Hennestad 2018 年 5 月 11 日
Yes, I found the same thing. So this is not a bug in Matlab, it is rather caused when adding cvx to the matlabpath.
Eivind Hennestad
Eivind Hennestad 2018 年 5 月 11 日
The problem is that cvx has its own narginchk function, and when this is added to the path it overrides the matlab narginchk and causes problems in the updating of legend. A possible solution would be to add cvx but not their narginchk:
addpath(genpath('CUSTOMPATH/cvx'))
rmpath('CUSTOMPATH/cvx/lib/narginchk_:')
Note: I dont know if this will interfere with cause problems within cvx.

サインインしてコメントする。


Konstantinos Poulios
Konstantinos Poulios 2018 年 11 月 6 日
Hi all.
I'll add another update to the accepted answer that does not require you to remove the cvx installation.
I was getting the same error on my installation ( R2018a ) when I added cvx ( Version 2.1, Build 1123 (cff5298) ) in matlab's path.
My workaround is to open the Set Path option window in matlab, select all the cvx folders and subfolders present in MATLAB search path list, press the Move to Bottom button and then hit the Save button.
This seems to resolve the issue (no more warnings/errors in the console and the legend of the plot), probably due to some matlab inherent priority classification for the paths.
In this way you can still keep the cvx installation and have the legend function work nicely automatically every time you start matlab.
You only get a warning on the console every time matlab starts that prints:
"Warning: Function narginchk has the same name as a MATLAB builtin. We suggest you rename the function to avoid a potential name conflict."
Hope this is helpful.
  1 件のコメント
zahra sohrabi
zahra sohrabi 2020 年 9 月 21 日
Hi, thank you very much. I don't have cvx toolbox but this way solved my problem

サインインしてコメントする。


Georgios Emmanouil Stavropoulos
Georgios Emmanouil Stavropoulos 2018 年 11 月 19 日
I don't have cvx (or at least I can't find it), but I have the same problem for a few weeks. Any ideas?
  1 件のコメント
Anik Kumar Samanta
Anik Kumar Samanta 2018 年 11 月 30 日
You might have some other toolbox which uses CVX. Select default in 'set path' and start adding individual toolbox or paths to check whether the problem exists.

サインインしてコメントする。

カテゴリ

Help Center および File ExchangeLegend についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by