Matplotlibで等高線図にハッチングを描画する方法
Matplotlibで等高線図にハッチングを描画する方法
Matplotlibでは、contourf()関数のhatches引数を使うことで、塗りつぶし等高線図に斜線などのハッチングパターンを簡単に追加できます。本記事では、その具体的な手順をサンプルコードとともにわかりやすく解説します。
実装手順
- 図のサイズを設定し、サブプロット間および周囲の余白(パディング)を調整します。
- NumPyを使ってx、y、zのデータポイントを作成します。
- xとyのデータポイントを1次元配列にフラット化します。
- Figureとサブプロットを作成します。
- 異なるハッチングパターンを指定して等高線をプロットします。
- ScalarMappableインスタンスに対してカラーバーを作成します。
show()メソッドで図を表示します。
サンプルコード
import matplotlib.pyplot as plt
import numpy as np
plt.rcParams["figure.figsize"] = [7.50, 3.50]
plt.rcParams["figure.autolayout"] = True
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)
x, y = x.flatten(), y.flatten()
fig1, ax1 = plt.subplots()
cs = ax1.contourf(x, y, z, hatches=['-', '/', '\\', '//'],
cmap='gray', extend='both', alpha=0.5)
fig1.colorbar(cs)
plt.show()
実行結果

このコードを実行すると、グレースケールの等高線図が表示され、各レベルごとに「-」「/」「\\」「//」といった異なるハッチングパターンが適用されます。alpha=0.5を指定することで半透明になり、extend='both'によってデータ範囲外の値も色とハッチングで表現されます。これにより、モノクロ印刷や視覚的な区別が必要な場面でも、等高線レベルを明確に識別できるグラフを作成できます。
-
Matplotlibで折れ線グラフをアニメーション化する方法を徹底解説
Matplotlibでは、FuncAnimationを活用することで、折れ線グラフに動きのあるアニメーション効果を簡単に加えることができます。本記事では、基本的な手順と実際に動作するサンプルコードを交えながら、その方法をわかりやすく解説します。折れ線グラフをアニメーション化する基本手順subplots()メソッドを使用して、図(figure)とサブプロットを作成します。x軸・y軸それぞれの表示範囲(スケール)を設定します。NumPyを使って、xおよびtのデータ点を生成します。座標ベクトルからmeshgrid()で座標行列X2とT2を作成します。plot()メソッドでxとFのデータを使い、折れ線
-
PythonとMatplotlibを使って3次元の等高線図(コンタープロット)を作成する方法
Matplotlibは、データ可視化のために広く使われている人気のPythonライブラリです。データの可視化は分析において非常に重要なステップであり、複雑な計算を行ったり数値を一つずつ確認したりしなくても、データの中で何が起きているのかを直感的に把握できるようになります。また、定量的な洞察を効果的に伝える手段としても役立ちます。Matplotlibは主に2次元のプロットを作成するために使用されますが、オブジェクト指向のAPIを備えており、作成したグラフをPythonアプリケーションに組み込むことも可能です。IPythonシェル、Jupyter Notebook、Spyder IDEなど、さまざ