はじめに
この実験では、Matplotlib でユニット付きのアーティストを作成する方法を学びます。線、テキスト、パッチなど、さまざまな種類のアーティストを作成し、プロットに追加します。また、x 軸と y 軸のユニットを設定し、ユニットをスカラーに変換する方法を学びます。
VM のヒント
VM の起動が完了したら、左上隅をクリックして ノートブック タブに切り替え、Jupyter Notebook を使って練習します。
場合によっては、Jupyter Notebook が読み込み終わるまで数秒待つ必要があります。Jupyter Notebook の制限により、操作の検証を自動化することはできません。
学習中に問題が発生した場合は、Labby にお問い合わせください。セッション後にフィードバックを提供してください。すぐに問題を解決いたします。
ライブラリのインポート
まず、必要なライブラリをインポートする必要があります。グラフを作成するために matplotlib.pyplot を、ランダムなデータを生成するために numpy を、さまざまな種類のアーティストを作成するために matplotlib.collections、matplotlib.lines、matplotlib.patches、および matplotlib.text を使用します。
import matplotlib.pyplot as plt
import numpy as np
import matplotlib.collections as collections
import matplotlib.lines as lines
import matplotlib.patches as patches
import matplotlib.text as text
グラフと軸の作成
次に、グラフと軸のオブジェクトを作成する必要があります。グラフオブジェクトは、すべてのプロット要素の最上位コンテナであり、軸オブジェクトはプロットの x 軸と y 軸を表します。
fig, ax = plt.subplots()
軸のユニットの設定
x 軸と y 軸にユニットを使用するには、set_units メソッドを使用して各軸のユニットを設定する必要があります。この例では、センチメートルをユニットとして使用します。
ax.xaxis.set_units('cm')
ax.yaxis.set_units('cm')
ランダムなデータの生成
線のアーティストを作成するには、いくつかのランダムなデータを生成する必要があります。線のための x 座標と y 座標の 2 セットを生成するために numpy.random を使用します。
x = np.array([0, 1.5])
y = np.array([0, 2.5])
線のアーティストを作成する
ここで、matplotlib.lines の Line2D クラスを使用して線のアーティストを作成できます。引数として x 座標と y 座標、線の太さ、色、および軸オブジェクトを指定できます。
line = lines.Line2D(x, y, lw=2, color='black', axes=ax)
プロットにアーティストを追加する
線のアーティストをプロットに追加するには、軸オブジェクトの add_line メソッドを呼び出し、引数として線のアーティストを渡す必要があります。
ax.add_line(line)
テキスト アーティストを作成する
次に、matplotlib.text の Text クラスを使用してテキスト アーティストを作成します。引数として x 座標と y 座標、テキスト ラベル、水平および垂直の配置、および軸オブジェクトを指定できます。
t = text.Text(3, 2.5, 'text label', ha='left', va='bottom', axes=ax)
プロットにアーティストを追加する
テキスト アーティストをプロットに追加するには、軸オブジェクトの add_artist メソッドを呼び出し、引数としてテキスト アーティストを渡す必要があります。
ax.add_artist(t)
プロットの範囲を設定する
プロットの範囲を設定するには、軸オブジェクトの set_xlim および set_ylim メソッドを呼び出し、各軸の最小値と最大値を渡す必要があります。
ax.set_xlim(-1, 10)
ax.set_ylim(-1, 10)
プロットを表示する
最後に、pyplot の show メソッドを使用してプロットを表示できます。
plt.show()
まとめ
この実験では、Matplotlib で単位付きのアーティストを作成する方法を学びました。x 軸と y 軸の単位を設定する方法、ランダムなデータを生成する方法、線とテキストのアーティストを作成してプロットに追加する方法を学びました。また、プロットの範囲を設定して表示する方法も学びました。