2013年3月20日水曜日

Matplotlibのグラフテンプレート

概要

matplotlibを使い出してからしばらく立ち,グラフの整形を一括して行いたいと思うようになった.
つまり,グラフ作成過程と,整形過程を分離してたスクリプトを書きたいと考えた.
そこで,テンプレートの設定方法について調べたところ,rcParamsを書き換えれば良いということが分かった.具体的にはここに全て書いてあるので,自分に必要な物を選択して変更すれば良い.
上記のページを元に自分用の仮テンプレートを作成したので上げておく.
こんな感じのグラフを作成する
グラフ軸に分数を使うよう設定するのがちょっと面倒


テンプレートのフォント周りについて

rcParamsの設定ではTex形式出力に利用するフォントとして通常文字に使用しているフォントの選択が可能であるようだ.
Tex形式のデフォルトはTexの数式で使われるフォントはそのままではIllustratorで利用できない.
まあ,Illustratorの設定を弄っても良いのだが,面倒くさいし,フォントを統一しておいたほうが便利かもしれないのでテンプレートではギリシャ文字出力に通常文字を割り当てるようにしている
これにより,ギリシャ文字出力が格段に楽になった(ユニコード調べるの面倒くさすぎ).

rcParamsの限界

rcParamsを使うことで相当細部までグラフの設定ができるが,実現したかった機能の内,幾つかは設定できなかったり,問題があった.(もしくは設定項目を適切に見つけることができなかった)
  1. グラフのマーカー自動設定
  2. 凡例のグラフ外部への配置設定
  3. 凡例の要素の列数設定
  4. Tex形式で分数を使った場合のサイズ縮小化対策
  5. EPSへのtype42フォント埋め込み設定(設定項目はあったがバグが生じた)
  6. マーカーをグラフ外枠より上に表示する方法(イラレでPDFを覗いた感じでは難しそう)
  7. TexフォントにSymbolフォントを利用する方法
  8. 文字列の配置を中揃えにする方法(軸で分数を使う際に軸ごとに設定できると便利)
上記以外にも幾つか問題点があったような気がする.
とりあえずEPSのフォント埋め込みに関連してXPDFはそのうち調べておく予定.

テンプレート



0 件のコメント:

コメントを投稿