MATLAB-figure からの export
引っ越してきました.内容は前のままです(だいたい 2003/06/10 現在の情報). バージョン等も上がってきているので obsolete になっている部分もあるでしょうが,それなりに役に立つ,はずです.
目的
手法によってクオリティにえらく差が出るeps変換を,
使えそうな方法に限ってテストしてみる.
《postscript printer 出力を利用/wmf系の出力を変換》
等に関しては昔やってみたけど,面倒な上にまともな結果が得られないので省略.
今回はMATLAB本体の機能とIllustratorでの変換を対象とした.
※ ここには Distiller がらみの話はあまり載ってません.PDF作成に関しては こちら(奥村先生のサイト)を参照されたほうがよいと思います.
環境
ネタとしてY君の一定振幅振動波形例(Ex_RollRate*.fig)を用いる.
on MATLAB:
> plot(t,data,'b-')
> xlabel('Time [s]');
> ylabel('Roll rate [deg/s]')
使用環境は以下のとおり.
- WinXPSP1
- MATLAB 6.5
- Illustrator 8.0
TeX の環境
- Document Class: jsarticle 2002/06/29 okumura
- pTeX Version p3.0.1, based on TeX, Version 3.14159 (SJIS) (Web2C 7.3.3)
- pLaTeX2e <2001/09/04>+0 (based on LaTeX2e <2001/06/01> patch level 0)
- dvipsk 5.86g p1.5f Copyright 1996-2001 ASCII Corp.
(www-ptex@ascii.co.jp)
based on dvipsk 5.86g Copyright 2001 Radical Eye Software (www.radicaleye.com)
※コマンドオプションは以下のとおり.$ dvipsk -P dl hoge.dvi
- Acrobat Distiller 4.0
参考のため pdf 出力を行ったが,以下は(基本的には)dviout for Windows 3.13.1
の画面表示で評価を行った.
なお,Distiller の設定は面倒なので詳細は略すが,用紙形式をA4にしたPressOptimized
の設定に「フォントをすべて埋め込む/埋め込めなかったときは警告して続行」を設定している.
注意
- dvipskにおいて
dvipsk: Font GothicBBB-Medium-83pv-RKSJ-H used in file EX_Rollrate1_EPSbw.eps is not in the mapping file.
- Distiller において
%%[ Warning: Ryumin-Light not found, using Font Substitution. Font cannot be embedded.]%% %%[ Warning: GothicBBB-Medium not found, using Font Substitution. Font cannot be embedded.]%% %%[ Warning: Helvetica not found, using Font Substitution. Font cannot be embedded.]%%
の警告が出ている.→テストとしてダメなような気もするが…
まぁdviまでの評価ということで.< previewer で評価していいのか分からんけど.
出力したものをみてみる
出力結果を参照.内容はこの html と一緒です.
dvi ファイルは可搬性が悪いのでpdfファイルを置いときます.
実験a:上記グラフをそのままエクスポート
- フォントがデフォルトの MS-Gothic ではなく Arial(? helveticaかも) になっているようだ
- y 軸の文字がずれている
実験b:ai形式で出力後eps変換
Illustrator8.0において,8.0形式/プレビュー8bit/サムネール作成/フォントデータを含む/CMYK 形式 で保存
- フォント指定は GothicBBB Medium となっていた.ダサい.
- pdfにすると色も変わってる.
実験c:フォントをいじってエクスポート
eps形式間にはあまり違いがないようなので,eps-level2-colorのみを
出力する.
最初に
> set(0,'defaultAxesFontsize',12) > set(0,'defaultAxesFontName','helvetica')
を実行後グラフを作成.
同時にai形式出力を Illustrator8.0 でepsに変換した.諸元は上記のとおり.
- fontはdefaultと変わっていないように見える→ Illustrator で 見たら helvetica だった.正しい.
- ai 出力を通したものはy軸の文字ずれ問題が起こっている.
- ちなみに MATLAB の eps-{level2|level2-color} 出力したものは Illustrator 8.0 では
開けない.>illustrator9.0なら開けることを確認しました.BWについては,じつはBWになっていないような気もしますが普通に開くことができます.colorは開くことは出来るんですが,試した環境では画像も何にも見えませんでした.つまり「開けるだけ」です.
とりあえずの結論
お手軽にきれいなepsを作りたいときにはMATLAB上でフォントをいじって
eps-level2-color でエクスポートすればよい.
これはイラストレータでは開けないファイルになるので同時にfigファイルを
保存しておけば将来の変更にも対応できるでしょう.
…と思ったのですが,最終出力が白黒印刷の場合はeps-level2-bwのほうが
いいですね.というのは,たとえばyellowのような色でもちゃんとBlackになるし(colorだとほとんど読めないような薄いグレイにされる), データの可搬性もlevel2-colorに比べてすこしはましで,いちおうillustrator9.0なら開けるし<確認しました
(送付先で Illustrator で開けるとかする可能性もありますし).
それにしても相変わらず export した eps を Illustrator で開くとマイナス記号が抜けるけど…どなたか解決策を知らないですかね?
ご存知なら
mailくださいm(__)m
その他雑記
とりあえずの結論がでたのであとはまた折を見て実験します.
あとは tips:
- matlabのfigの「表示」形状は出力epsの形状とは関係ないらしい.
- 軸のラベルとかlimとかは,決定したら「自動」を切っとかないとeps吐くときに勝手にいじられるので注意しましょう@MATLAB.(大体において,MATLABのfigureでは画面表示と出力ってのは別々に扱われているみたいですね.bmpエクスポート(ただのスクリーンキャプチャ)とjpeg/tiffエクスポートを比較するとよく分かりますが)
大したこと書いてなくて申し訳ないです…
困ってた人が検索に引っ掛けて,ちょっとでも役に立ったらよいのですが.
てか,こういうのが「バッドノウハウ」ってやつですね….とはいえ知らないわけにもいかないという.難儀な話ですが.どこかにまとまったリソースがあればいいんですが.<これもご存知なら教えてください.このページ引っ込めてわたしもそっち見に行きます.