matplotlibで論文に載せられる図を作成する
論文を書くときに数値計算結果等の図を添付することがしばしばあります。 昔はgnuplotのepslatexとかを使って図にlatexをかけるようにしていましたが、かなりめんどくさかったです。 最近はmatplotlibを使ってい論文に載せられるくらいきれいな図を簡単に作れるので、備忘録もかねてここにまとめておきます。
pythonコードを実行する環境にはlatexも実行可能な環境であることが前提条件です。 (そのためサーバー上で図を作成するときとかはうまく動かないことがあります。)
二次関数のグラフが作成できました。
補足
- latexを使ったラベル等を有効化するには次のように書いておきます。
plt.rcParams["text.usetex"] = True
plt.rcParams["text.latex.preamble"] = r"\usepackage{amsmath,bm}"
(今回はamsmath
もbm
も使っていないので書く必要はありませんが。)
- PRE等の2段組みの論文では
figsize=[8, 6]
としておくとなんだかいい感じです。
plt.figure(figsize=[8, 6])
- matplotlibはデフォルトだといくらか余白ができますが、論文に載せる図にはあまり余白を入れたくありません。 その場合には、保存するときに次のオプションを入れておきましょう。
plt.savefig("out.png", bbox_inches="tight")
あと、latexで論文を書いているとepsとかpdfで図を作成しておきたいです。 その場合には保存する拡張子を対応するものにしておきましょう。