はじめに
Matplotlib は、Python におけるデータ可視化ライブラリであり、さまざまなチャート、グラフ、プロットを作成するために使用されます。魅力的なビジュアライゼーションを作成するために、幅広いカスタマイズオプションを提供しています。そのオプションの 1 つが、スタイルシートです。スタイルシートは、プロットの見た目を定義する設定のコレクションです。この実験では、すべての色をグレースケールに変更する「グレースケール」スタイルシートを探ります。
VM のヒント
VM の起動が完了した後、左上隅をクリックしてノートブックタブに切り替え、Jupyter Notebook にアクセスして練習します。
場合によっては、Jupyter Notebook が読み込み終了するまで数秒待つ必要があります。Jupyter Notebook の制限により、操作の検証を自動化することはできません。
学習中に問題に遭遇した場合は、Labby にお問い合わせください。セッション後にフィードバックを提供してください。すぐに問題を解決いたします。
必要なライブラリのインポート
まずは必要なライブラリをインポートします。NumPy と Matplotlib が必要になります。
import matplotlib.pyplot as plt
import numpy as np
乱数シードの設定
結果の再現性を保証するために、次のコードを使って乱数シードを設定します。
np.random.seed(19680801)
カラーサイクルの例を示す関数の定義
color_cycle_example という関数を定義します。この関数は軸オブジェクトを入力として受け取り、カラーサイクル内の各色に対して正弦波を描画します。カラーサイクルは rcParams によって定義されます。
def color_cycle_example(ax):
L = 6
x = np.linspace(0, L)
ncolors = len(plt.rcParams['axes.prop_cycle'])
shift = np.linspace(0, L, ncolors, endpoint=False)
for s in shift:
ax.plot(x, np.sin(x + s), 'o-')
画像とパッチの例を示す関数の定義
image_and_patch_example という関数を定義します。この関数は軸オブジェクトを入力として受け取り、ランダムな画像を描画し、そのプロットにパッチを追加します。
def image_and_patch_example(ax):
ax.imshow(np.random.random(size=(20, 20)), interpolation='none')
c = plt.Circle((5, 5), radius=5, label='patch')
ax.add_patch(c)
グレースケールのスタイルシートを使用する
次のコードを使って、スタイルシートを「グレースケール」に設定します。
plt.style.use('grayscale')
サブプロットの作成
次のコードを使って、2 つのサブプロット付きのグラフを作成します。
fig, (ax1, ax2) = plt.subplots(ncols=2)
fig.suptitle("'grayscale' style sheet")
例を描画する
以下のコードを使って、最初のサブプロットにカラーサイクルの例を、2 番目のサブプロットに画像とパッチの例を描画します。
color_cycle_example(ax1)
image_and_patch_example(ax2)
グラフを表示する
以下のコードを使ってグラフを表示します。
plt.show()
まとめ
この実験では、Matplotlib で「グレースケール」のスタイルシートを使って、グレースケールですべての色を持つグラフを作成する方法を学びました。また、サブプロットを作成し、例を描画し、グラフを表示する方法も学びました。スタイルシートは、グラフの見た目をカスタマイズする優れた方法であり、Matplotlib には選択できる多くの組み込みのスタイルシートが用意されています。