はじめに
Matplotlib は、Python で様々なデータ可視化を作成できるデータ可視化ライブラリです。可視化を作成する際の重要な要素の 1 つは、テキストに適切なフォントを選ぶことです。このチュートリアルでは、Matplotlib で PGF フォントを使用する方法を学びます。
VM のヒント
VM の起動が完了したら、左上隅をクリックしてノートブックタブに切り替え、Jupyter Notebook を使って練習しましょう。
時々、Jupyter Notebook が読み込み終了するまで数秒待つ必要がある場合があります。Jupyter Notebook の制限により、操作の検証を自動化することはできません。
学習中に問題に遭遇した場合は、Labby にお問い合わせください。セッション後にフィードバックを提供してください。すぐに問題を解決いたします。
必要なライブラリをインポートする
このチュートリアルで必要なライブラリをインポートして始めましょう。可視化を作成するためにmatplotlib.pyplotを使用します。
import matplotlib.pyplot as plt
フォントファミリを設定する
font.familyパラメータを使用して、フォントファミリを「serif」に設定します。また、既定の LaTeX のセリフフォントを使用するために、font.serifパラメータを空のリストに設定します。
plt.rcParams.update({
"font.family": "serif",
"font.serif": [],
})
草書体のフォントを設定する
font.cursiveパラメータを使用して草書体のフォントを設定します。この例では、「Comic Neue」と「Comic Sans MS」を使用します。
plt.rcParams.update({
"font.cursive": ["Comic Neue", "Comic Sans MS"],
})
グラフを作成する
次に、ax.plot()関数を使って簡単な折れ線グラフを作成します。
fig, ax = plt.subplots(figsize=(4.5, 2.5))
ax.plot(range(5))
グラフにテキストを追加する
ax.text()関数を使ってグラフにテキストを追加します。グラフの 4 つの異なる場所に、それぞれ異なるフォントファミリ(セリフ、等幅、ゴシック、草書体)でテキストを追加します。
ax.text(0.5, 3., "serif")
ax.text(0.5, 2., "monospace", family="monospace")
ax.text(2.5, 2., "sans-serif", family="DejaVu Sans")
ax.text(2.5, 1., "comic", family="cursive")
x 軸のラベルを設定する
ax.set_xlabel()関数を使って x 軸のラベルを設定します。例としてギリシャ文字のミューを使います。
ax.set_xlabel("µ is not $\\mu$")
グラフを保存する
最後に、fig.savefig()関数を使ってグラフを PDF と PNG ファイルとして保存します。
fig.tight_layout(pad=.5)
fig.savefig("pgf_fonts.pdf")
fig.savefig("pgf_fonts.png")
まとめ
このチュートリアルでは、Matplotlib で PGF フォントを使用する方法を学びました。フォントファミリを設定し、草書体のフォントを設定し、グラフを作成し、テキストを追加し、x 軸のラベルを設定し、グラフを保存しました。これらの技術を使って、Matplotlib でのビジュアライゼーションの外観をカスタマイズすることができます。