凡例の複数行化エラー:cell 型の値をインデックスとして使用できません。
13 views (last 30 days)
Show older comments
scatter関数を使いfigureを作成したところ,凡例が多かったので複数列化を試みました.
legend({'Cutting Depth = 5 [mm]','...','Cutting Depth = 50 [mm]'},'FontSize',10,'Interpreter','latex','Location','northeast','NumColumns',2)
すると,「cell型の値をインデックスとして使用できません」というエラーが出てきてしまい,figureには凡例が表示されず困っています.
ここのとおりに書いたつもりなのですが,上手くいかない原因が分かれば教えて下さい.
0 Comments
Answers (1)
Kojiro Saito
on 20 Dec 2021
コードのどこかにlegendという変数を定義していたり、legend.mというカスタムの関数を書いたりしていませんでしょうか?
which legend -all
を実行してみて、<MATLABインストールフォルダ>\toolbox\matlab\scribe\legend.m だけがリターンされれば問題ないのですが、「legend is a variable.」と表示されたり、別のフォルダにあるlegend.mが表示されたりすると、凡例を付ける関数legendが正しく認識されません。
もしlegendという変数を定義していたら
clear legend
で変数legendをクリアして、違う変数名で定義したり、
カスタムのlegend.mがある場合は別名(例:mylegend.m)のファイル名にしたりすることで解決できると思います。
2 Comments
Kojiro Saito
on 21 Dec 2021
legendは問題なさそうですね。私の環境では再現できないので、どのようなfigureをプロットしてこの現象が起きているのか、サンプルコードを提供いただけますか?
See Also
Categories
Find more on Legend in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!