はじめに
この実験では、Matplotlib のほとんどの多角形にハッチを追加するプロセスを案内します。これには、Axes.bar、Axes.fill_between、Axes.contourf、および patches.Polygon の子要素が含まれます。異なるハッチパターンを作成し、それらを繰り返して密度を高め、さらに組み合わせて追加のパターンを作成する方法を学びます。
VM のヒント
VM の起動が完了したら、左上隅をクリックして ノートブック タブに切り替え、Jupyter Notebook を使用して練習します。
場合によっては、Jupyter Notebook が読み込み完了するまで数秒待つ必要があります。Jupyter Notebook の制限により、操作の検証を自動化することはできません。
学習中に問題が発生した場合は、Labby にお問い合わせください。セッション後にフィードバックを提供してください。そうすると、迅速に問題を解決します。
必要なライブラリをインポートする
Matplotlib を使用するには、ライブラリと必要なモジュールをインポートする必要があります。サブプロットを作成するために pyplot モジュールと、Rectangle オブジェクトを作成するために patches モジュールを使用します。
import matplotlib.pyplot as plt
from matplotlib.patches import Rectangle
hatches_plot 関数を作成する
hatches_plot 関数は、指定されたハッチパターンで長方形を作成し、それを軸に追加します。また、ハッチパターンを含むテキストも追加します。
def hatches_plot(ax, h):
ax.add_patch(Rectangle((0, 0), 2, 2, fill=False, hatch=h))
ax.text(1, -0.5, f"' {h} '", size=15, ha="center")
ax.axis('equal')
ax.axis('off')
サブプロットを作成する
異なるハッチパターンを持つ 3 セットのサブプロットを作成します。
fig, axs = plt.subplots(2, 5, layout='constrained', figsize=(6.4, 3.2))
最初のセットのハッチパターンを作成する
以下のリストを使用して、最初のセットのハッチパターンを作成します。
hatches = ['/', '\\', '|', '-', '+', 'x', 'o', 'O', '.', '*']
その後、ループを使用して各ハッチパターンで長方形を作成し、サブプロットに追加します。
for ax, h in zip(axs.flat, hatches):
hatches_plot(ax, h)
2 番目のセットのハッチパターンを作成する
密度を高めるために、各パターンを 2 回繰り返して、2 番目のセットのハッチパターンを作成します。以下のリストを使用します。
hatches = ['//', '\\\\', '||', '--', '++', 'xx', 'oo', 'OO', '..', '**']
四角形を作成するために、以前と同じループを使用します。
for ax, h in zip(axs.flat, hatches):
hatches_plot(ax, h)
3 番目のセットのハッチパターンを作成する
2 つのパターンを組み合わせて新しいパターンを作成することで、3 番目のセットのハッチパターンを作成します。以下のリストを使用します。
hatches = ['/o', '\\|', '|*', '-\\', '+o', 'x*', 'o-', 'O|', 'O.', '*-']
四角形を作成するために、以前と同じループを使用します。
for ax, h in zip(axs.flat, hatches):
hatches_plot(ax, h)
グラフを表示する
show() 関数を使用してグラフを表示します。
plt.show()
まとめ
この実験では、Matplotlib のほとんどのポリゴンにハッチを追加する方法を学びました。Axes.bar、Axes.fill_between、Axes.contourf、および patches.Polygon の子要素などです。また、異なるハッチパターンを作成し、密度を高めるために繰り返し、さらにパターンを作成するために組み合わせる方法を学びました。また、add_patch() 関数を使用して Rectangle オブジェクトを軸に追加する方法と、text() 関数を使用してグラフにテキストを追加する方法も学びました。