MATLAB ラベルが図からはみ出る
matlabのデフォルトフォントサイズをいじると
plotyyなどの一部のラベルがはみ出るという報告を受けています。
時間がないのでまた今度に内容をリファインしますがとりあえず今回は話題提供をば。
仕様環境
環境というか以下の設定をデフォルトにstartup.mに入れています。
% スタートアップ % directory %cd 'C:\......' %起動ディレクトリの設定 % OpenGL opengl software % figure のデフォルトフォント設定 set(0, 'defaultAxesFontSize', 16); set(0, 'defaultTextFontSize', 16); set(0, 'defaultAxesFontName','Arial'); set(0,'defaultTextFontName','Arial'); % ブロックのデフォルトフォントを変更 set_param(0,'DefaultBlockFontSize',11); set_param(0,'DefaultBlockFontName','Arial'); % ラインのデフォルトフォントサイズを変更 set_param(0,'DefaultLineFontSize',9); set_param(0,'DefaultLineFontName','Arial'); % 注釈のデフォルトフォントサイズを変更 set_param(0,'DefaultAnnotationFontSize',16); set_param(0,'DefaultAnnotationFontName','Arial'); %LINEwidth set(0,'defaultLineLineWidth',1.75)
問題となるコード
以下のコードを実行します。
x = 0:0.01:20; y1 = 200*exp(-0.05*x).*sin(x); y2 = 0.8*exp(-0.5*x).*sin(10*x); figure % new figure [hAx,hLine1,hLine2] = plotyy(x,y1,x,y2); title('Multiple Decay Rates') xlabel('Time (\musec)') ylabel(hAx(1),'Slow Decay') % left y-axis ylabel(hAx(2),'Fast Decay') % right y-axis
するとこうなる。
右のplotyyのラベルは愚かx軸のラベルもはみ出しそうです。
原因・解決法
時間があったらまた書きます。
- フォントサイズを大きくしてしまうせいのようです。
- 図を無理やり縮めるのも有効らしい。
set(ax(1),'Position', [0.13 0.11 0.775-.08 0.815]); set(ax(2),'Position', [0.13 0.11 0.775-.08 0.815]); % Original position was [0.13 0.11 0.775 0.815] % Applied change in width: "-.08". Choose as desired