#author("2018-07-25T22:04:56+09:00","default:Miyashita","Miyashita") #author("2019-12-21T01:08:08+09:00","default:Miyashita","Miyashita") *タイトルの位置を調整する [#m639455c] 2次元平面図に関する記述です.~ #codeprettify(lang-matlab){{ ti = title('hogehoge') }} とtitleのハンドルを取得するとわかるが,titleはただのTextオブジェクトである.~ legendのLocationのような位置指定はできない.~ Positionで位置を指定するため,まずは各軸の幅を取得しておく. と title のハンドルを取得するとわかるが,title はただの Text オブジェクトである.~ legend の Location のような位置指定はできない.~ Position で位置を指定するため,まずは各軸の幅を取得しておく. #codeprettify(lang-matlab){{ % 方法1 ax = gca; xrange = ax.XLim(2)-ax.XLim(1); yrange = ax.YLim(2)-ax.YLim(1); }} または下記のようにaxisを使う手もある. または下記のように axis を使う手もある. #codeprettify(lang-matlab){{ % 方法2 xylim = axis; xrange = xylim(2)-xylim(1); yrange = xylim(4)-xylim(3); }} 次に,表示したい位置をratio_x,ratio_yとして設定し, 次に,表示したい位置を ratio_x,ratio_y として設定し, #codeprettify(lang-matlab){{ px = ax.XLim(1)+ratio_x*xrange; py = ax.YLim(1)+ratio_y*yrange; }} とする.これで,図の左下からの相対位置をxy座標に変換できた.~ とする.これで,図の左下からの相対位置を xy 座標に変換できた.~ この座標を中心にした配置とするため, #codeprettify(lang-matlab){{ set(ti,'HorizontalAlignment','center','VerticalAlignment','middle') }} と指定する.あとは, #codeprettify(lang-matlab){{ set(ti,'Position',[px py 0]) % または ti.Position = [px py 0]; }} で移動完了.~ ratio_x,ratio_yをともに0.5とすると,図の真ん中の真ん中にタイトルがくる.~ ratio_x, ratio_y をともに0.5とすると,図の真ん中の真ん中にタイトルがくる.~ 0.0未満,1.0以上にすると図の外部になる.~ 図中に入れる場合は, #codeprettify(lang-matlab){{ set(ti,'BackgroundColor','w','EdgeColor','k') }} で塗りつぶして,枠囲みをした方が良いかもしれない.