Matplotlib の PGF フォントのカスタマイズ

Beginner

This tutorial is from open-source community. Access the source code

はじめに

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 でのビジュアライゼーションの外観をカスタマイズすることができます。