はじめに
このチュートリアルでは、usetex モードを使用して Matplotlib のプロットにフォントエフェクトを適用する方法を学びます。pdftex.map ファイルに指定されたフォントエフェクトを示すサンプル スクリプトを使用します。このチュートリアルが終了すると、カスタム フォントエフェクトを備えたプロフェッショナルな見た目のプロットを作成できるようになります。
VM のヒント
VM の起動が完了したら、左上隅をクリックして ノートブック タブに切り替え、Jupyter Notebook を使用して練習します。
場合によっては、Jupyter Notebook が読み込み終了するまで数秒待つ必要があります。Jupyter Notebook の制限により、操作の検証を自動化することはできません。
学習中に問題に遭遇した場合は、Labby にお問い合わせください。セッション後にフィードバックを提供してください。すぐに問題を解決いたします。
Matplotlib のインストール
始める前に、Matplotlib がインストールされていることを確認する必要があります。pip を使用してインストールできます。
pip install matplotlib
必要なライブラリをインポートする
このステップでは、このチュートリアルに必要なライブラリをインポートします。グラフを作成するために Matplotlib ライブラリを使用します。
import matplotlib.pyplot as plt
フォント関数を定義する
このステップでは、フォントを設定する関数を定義します。この関数は、フォント名を引数として受け取り、指定された名前のフォントに設定する文字列を返します。
def setfont(font):
return rf'\font\a {font} at 14pt\a '
グラフを作成する
このステップでは、グラフを作成します。グラフにテキストを追加するために fig.text() メソッドを使用します。zip() 関数を使ってフォントと対応するテキストのリストを反復処理し、それらをマッチングさせます。usetex モードを有効にするために usetex パラメータを True に設定します。
fig = plt.figure()
for y, font, text in zip(
range(5),
['ptmr8r', 'ptmri8r', 'ptmro8r', 'ptmr8rn', 'ptmrr8re'],
[f'Nimbus Roman No9 L {x}'
for x in ['', 'Italics (real italics for comparison)',
'(slanted)', '(condensed)', '(extended)']],
):
fig.text(.1, 1 - (y + 1) / 6, setfont(font) + text, usetex=True)
fig.suptitle('Usetex font effects')
plt.show()
結果を解釈する
このスクリプトは、pdftex.map ファイルで指定されたフォント効果を示すグラフを作成します。グラフ上で異なるフォントとフォントスタイルを使ってカスタム テキストを作成する方法を示しています。
まとめ
このチュートリアルでは、Matplotlib の usetex モードを使ってグラフにカスタム フォント効果を適用する方法を学びました。フォントを設定する関数を定義し、その後 fig.text() メソッドを使ってグラフにテキストを追加しました。また、異なるフォント効果を示すために、フォントと対応するテキストのリストを反復処理しました。これらの手順に従うことで、Matplotlib でカスタム フォントを使った見た目の良いグラフを作成することができます。