はじめに
この実験では、Python Matplotlib を使ってマーカーを指定するさまざまな方法を探ります。マーカーはグラフ上の点を表すために使用され、データ可視化を向上させるためにさまざまな方法でカスタマイズできます。
VM のヒント
VM の起動が完了したら、左上隅をクリックしてノートブックタブに切り替え、Jupyter Notebook を使って練習しましょう。
Jupyter Notebook が読み込み終わるまで数秒待つ必要がある場合があります。Jupyter Notebook の制限により、操作の検証を自動化することはできません。
学習中に問題に遭遇した場合は、Labby にお問い合わせください。セッション後にフィードバックを提供してください。すぐに問題を解決いたします。
ライブラリのインポートと乱数シードの設定
必要なライブラリをインポートし、結果の再現性を保証するために乱数シードを設定します。
import matplotlib.pyplot as plt
import numpy as np
## Set random seed
np.random.seed(19680801)
乱数データの生成
NumPy のrandomモジュールを使って乱数データを生成します。
x = np.random.rand(10)
y = np.random.rand(10)
z = np.sqrt(x**2 + y**2)
サブプロットの作成
subplots()関数を使って、2x3 のサブプロットのグリッドを作成します。
fig, axs = plt.subplots(2, 3, sharex=True, sharey=True, layout="constrained")
マーカーのカスタマイズ
以下の方法でマーカーをカスタマイズします。
方法 1:Matplotlib マーカーシンボル
Matplotlib マーカーシンボルを指定するためにmarkerパラメータを使用します。
axs[0, 0].scatter(x, y, s=80, c=z, marker=">")
axs[0, 0].set_title("marker='>'")
方法 2:TeX からのマーカー
TeX のシンボル名を$-記号で囲むことで、TeX からのマーカーを指定するためにmarkerパラメータを使用します。
axs[0, 1].scatter(x, y, s=80, c=z, marker=r"$\clubsuit$")
axs[0, 1].set_title(r"marker=r'\$\clubsuit\$'")
方法 3:パスからのマーカー
N 頂点のカスタムパスを (N, 2) の配列のように指定するためにmarkerパラメータを使用します。
verts = [[-1, -1], [1, -1], [1, 1], [-1, -1]]
axs[0, 2].scatter(x, y, s=80, c=z, marker=verts)
axs[0, 2].set_title("marker=verts")
方法 4:正多角形マーカー
タプル (N, 0) を使用して正多角形マーカーを指定するためにmarkerパラメータを使用します。
axs[1, 0].scatter(x, y, s=80, c=z, marker=(5, 0))
axs[1, 0].set_title("marker=(5, 0)")
方法 5:正星型マーカー
タプル (N, 1) を使用して正星型マーカーを指定するためにmarkerパラメータを使用します。
axs[1, 1].scatter(x, y, s=80, c=z, marker=(5, 1))
axs[1, 1].set_title("marker=(5, 1)")
方法 6:正のアスタリスクマーカー
タプル (N, 2) を使用して正のアスタリスクマーカーを指定するためにmarkerパラメータを使用します。
axs[1, 2].scatter(x, y, s=80, c=z, marker=(5, 2))
axs[1, 2].set_title("marker=(5, 2)")
グラフを表示する
show()関数を使ってグラフを表示します。
plt.show()
まとめ
この実験では、Python の Matplotlib でマーカーをカスタマイズするさまざまな方法を学びました。マーカーを指定するさまざまな方法を探り、コード例を用いてその使い方を示しました。マーカーをカスタマイズすることで、データプロットの視覚的魅力を高め、情報を豊かにすることができます。