はじめに
フローチャートを描く記事で,分数 \frac は表示不可?と書いたが,調べてみたら,LaTeXのかなりの部分を表示できる方法があった.
(http://matplotlib.org/users/usetex.html)
準備
バックエンド
バックエンドというものを指定しておく必要があるらしい.
私の場合,過去にpyenvでインストールしたmatplotlibが動かなかった経緯があり,TkAggを指定している.
(対応)~/.marplotlibにmatplotlibrcというファイルを作成し,1行 backend : TkAggと書き込んで保存
(参考)
http://blog.livedoor.jp/mt_kinabalu/archives/48592087.html
http://qiita.com/katryo/items/918667f28301fdec89ba
type1cm.sty
あと,トライアル中に「type1cm.styが無い」というのが出たので,TeX で読み込むフォルダにこれをインストール.
私の場合,Mac に BasicTeX を入れているため,以下のフォルダに type1cm.sty を入れている.フォルダ mytool は標準で入っていない自分用スタイルファイルを入れておくフォルダ.
/usr/local/texlive/2015basic/texmf-local/tex/mytool/
テストプログラム
注意点
- rc をインポートし以下を記載する
from matplotlib import rc
rc('text', usetex=True)
text14=r'$\displaystyle r=\sqrt{\frac{-2(1-\rho^2)\cdot\ln(1-p)}{1-2\rho\cdot\sin\theta\cdot\cos\theta}}$'
fnameF='fig_tex_test.pdf'
......
......
plt.savefig(fnameF)
text02='(2) '+r'$\thickmuskip=0mu \medmuskip=0mu \thinmuskip=0mu \displaystyle f(x)=....
(参考)http://oversleptabit.com/?p=556
サンプルプログラムコード
Program name | Description |
---|---|
py_tex_test.py | Drawing program of mathematical equations using LaTeX in matplotlib |
成果品
実行スクリプトは以下の通り.pdf出力されるので,ImageMagickによりpngに変換している.
python py_tex_test.py
convert -trim -density 400 fig_tex_test.pdf -bordercolor "white" -border 10x10 fig_tex_test.png
成果品は以下の通り.