凡例の複数行化エラー:cell 型の値をインデックスとして使用できません。

조회 수: 12 (최근 30일)
佳琳 杉浦
佳琳 杉浦 2021년 12월 20일
댓글: Kojiro Saito 2021년 12월 21일
scatter関数を使いfigureを作成したところ,凡例が多かったので複数列化を試みました.
legend({'Cutting Depth = 5 [mm]','...','Cutting Depth = 50 [mm]'},'FontSize',10,'Interpreter','latex','Location','northeast','NumColumns',2)
すると,「cell型の値をインデックスとして使用できません」というエラーが出てきてしまい,figureには凡例が表示されず困っています.
ここのとおりに書いたつもりなのですが,上手くいかない原因が分かれば教えて下さい.

답변 (1개)

Kojiro Saito
Kojiro Saito 2021년 12월 20일
コードのどこかに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
佳琳 杉浦
佳琳 杉浦 2021년 12월 21일
確認したところ,<MATLABインストールフォルダ>\toolbox\matlab\scribe\legend.m だけが返されました.関数legendは問題なく認識されているようです.デフォルトの一列で表示される凡例はlegendを使って普通に表示されるのですが,複数figureを定義していることなど他に何か原因があるのでしょうか?
Kojiro Saito
Kojiro Saito 2021년 12월 21일
legendは問題なさそうですね。私の環境では再現できないので、どのようなfigureをプロットしてこの現象が起きているのか、サンプルコードを提供いただけますか?

댓글을 달려면 로그인하십시오.

카테고리

Help CenterFile Exchange에서 Legend에 대해 자세히 알아보기

태그

제품


릴리스

R2021b

Community Treasure Hunt

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

Start Hunting!