2011年12月22日木曜日

MATLABのfigファイルを一気にemfファイルに変換


久々のBlog投稿。
修士論文をちまちま書いてます。んでMATLAB上で書いたグラフが結構たくさんあってそれをいかにして処理するかで悩んでました。
グラフの凡例を日本語でも英語でもOKに。日本語の場合でも凡例の書き方を変えたりしたい・・・。という時のために全部Figureファイルで保存しています。

ところがどっこい。
WordとかLibreOfficeで論文を書こうと思ったらEMFファイルとかにしなくちゃいけない。
さあどうしよう。

ということで、一括変換するスクリプト書いてみました。


% fig2emf


dir_tmp=dir('*.fig');


for i=1:size(dir_tmp)
  open(dir_tmp(i,1).name)
  file_name=['output\',dir_tmp(i,1).name,'.emf'];
  saveas(figure(1),file_name,'emf')
  close
end


こんなかんじ。

これをM-fileにして、figファイルがたくさん入ってるフォルダに突っ込んで、outputディレクトリ作っておけばあっという間にemfファイルができあがります。

emfファイルじゃなくてpngにしたければ、saveas関数の引数'emf'を'png'にすればOK。

たぶん、便利。

MATLABのFigureの大量変換で悩んでる皆様、超楽ですよ。