Error using legend MATLAB R2019b

5 次查看(过去 30 天)
I get the following error while doing a plot in MATLAB 2019b on Windows 10:
"Error using legend (line 279) Element 1 is not a string scalar or character array. All elements of cell input must be string scalars or character arrays"
even though the arguments passed to the legend function are correct.
The error occurs only every third time or so with the exact same code... (The ylabel, xlabel and title functions work perfectly.) The code used was the following:
for i = 1:2
ylabel(obj.hAxis{i}, axisUnits)
xlabel(obj.hAxis{i}, 'Measurement Sample')
title(obj.hAxis{i}, [obj.signalId '-' sideArray{i}])
legend(obj.hAxis{i},[signalLabels], 'Location','EastOutside')
end
The following suggestion from another question: "opengl('save','software')" did not help.
Neither did storing the obj.hAxis{i} in a temporary variable and passing this temporary variable to the legend function.

采纳的回答

Peng Li
Peng Li 2020-3-27
what is your signalLabels? Is that a cell or a string matrix?
  3 个评论
Peng Li
Peng Li 2020-3-27
Is that possible that you can show it's elements here? Or you can try make it string explicitely by string(signalLabels)?
Matthieu Assa
Matthieu Assa 2020-3-27
Thanks a lot! making it a string explicitely solved the issue for me! (now it worked 40/40 times) :)
Although it still remains a bit confusing that with a cell it worked 24/40 times and failed 16/40 times... But now that I know how to solve the issue it doesn't matter anymore.

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Legend 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by