Error using legend MATLAB R2019b

6 Ansichten (letzte 30 Tage)
Matthieu Assa
Matthieu Assa am 27 Mär. 2020
Kommentiert: Matthieu Assa am 27 Mär. 2020
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.

Akzeptierte Antwort

Peng Li
Peng Li am 27 Mär. 2020
what is your signalLabels? Is that a cell or a string matrix?
  3 Kommentare
Peng Li
Peng Li am 27 Mär. 2020
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 am 27 Mär. 2020
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.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by