ハッチ付きの塗りつぶし等高線プロット

PythonPythonBeginner
今すぐ練習

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

💡 このチュートリアルは英語版からAIによって翻訳されています。原文を確認するには、 ここをクリックしてください

はじめに

この実験では、PythonのMatplotlibライブラリを使って、ハッチ模様付きの塗りつぶし等高線プロットを作成する方法を学びます。等高線プロットは、3次元データを2次元で表示するために使用されます。特に、地形データのように山や谷のあるデータを可視化するのに役立ちます。

VMのヒント

VMの起動が完了したら、左上隅をクリックしてノートブックタブに切り替え、Jupyter Notebookを使って練習しましょう。

時々、Jupyter Notebookが読み込み終わるまで数秒待つ必要がある場合があります。Jupyter Notebookの制限により、操作の検証を自動化することはできません。

学習中に問題に遭遇した場合は、Labbyにお問い合わせください。セッション後にフィードバックを提供してください。すぐに問題を解決いたします。

ライブラリのインポート

必要なライブラリをインポートして始めましょう。この実験では、NumPyとMatplotlibを使用します。

import matplotlib.pyplot as plt
import numpy as np

データの作成

次に、プロットするサンプルデータを作成します。この例では、xとyの値の2次元グリッドを作成し、それらを使ってzの値を計算します。

## invent some numbers, turning the x and y arrays into simple
## 2d arrays, which make combining them together easier.
x = np.linspace(-3, 5, 150).reshape(1, -1)
y = np.linspace(-3, 5, 120).reshape(-1, 1)
z = np.cos(x) + np.sin(y)

カラーバー付きの最もシンプルなハッチ付きプロット

このステップでは、カラーバー付きの最もシンプルなハッチ付きプロットを作成します。塗りつぶし等高線プロットを作成するために contourf 関数を使用し、hatches パラメータを使ってハッチを指定します。

fig1, ax1 = plt.subplots()
cs = ax1.contourf(x, y, z, hatches=['-', '/', '\\', '//'],
                  cmap='gray', extend='both', alpha=0.5)
fig1.colorbar(cs)

凡例付きの無色のハッチ付きプロット

このステップでは、無色のハッチ付きのプロットを作成し、凡例を追加します。等高線を作成するために contour 関数を使用し、無色のハッチを指定するために contourf 関数を使用します。

fig2, ax2 = plt.subplots()
n_levels = 6
ax2.contour(x, y, z, n_levels, colors='black', linestyles='-')
cs = ax2.contourf(x, y, z, n_levels, colors='none',
                  hatches=['.', '/', '\\', None, '\\\\', '*'],
                  extend='lower')

## create a legend for the contour set
artists, labels = cs.legend_elements(str_format='{:2.1f}'.format)
ax2.legend(artists, labels, handleheight=2, framealpha=1)

プロットを表示する

最後に、show 関数を使ってプロットを表示します。

plt.show()

まとめ

この実験では、Matplotlibを使ってハッチ模様付きの塗りつぶし等高線プロットを作成する方法を学びました。contour 関数と contourf 関数を使ってプロットを作成し、hatches パラメータを使ってハッチを指定しました。また、プロットにカラーバーと凡例を追加しました。