ハッチスタイルリファレンス

Beginner

This tutorial is from open-source community. Access the source code

はじめに

この実験では、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() 関数を使用してグラフにテキストを追加する方法も学びました。