I am Charmie

メモとログ

MatLabの凡例

legend('凡例1', '凡例2', ...);
とコマンドすれば凡例がプロット内に表示される.

しかし,''内の文字列内にや^があると,texのコマンドのような凡例が表示されてしまう.
その原因は,Textオブジェクトの'interpreter'プロパティがデフォルトで'Tex'に設定されているため,
や^をtexのコマンドとして認識してしまう事にあるそうだ.
解決策は幾つかあって,

  1. 特定の記号をtexコマンドではなく記号として処理する.
    方法: _や^の前に\を付ける.
  2. 特定の凡例だけインタプリタを使用しないようにする.
    方法1: legend({'凡例1','凡例2', ...},'interpreter','none');
    方法2: L = legend(
    '凡例1','凡例2', ...);
    set(L,'Interpreter','none');
  3. 全てのTextに対して,インタプリタを使用しないようにする.
    方法: set(0,'DefaultTextInterpreter','none')