Pythonで等高線グラフを描こう!plt.contourの使い方完全ガイド【初心者向け】 | スクラムとは 仕事が進まなく技術力もないリーダーのごっこ遊び

Pythonでデータの可視化といえば、真っ先に思い浮かぶのが matplotlib ライブラリ。その中でも matplotlib.pyplot は、グラフ作成に欠かせない超定番モジュールです。

今回は、特に2次元の等高線グラフを描くために使われる plt.contour() の基本的な使い方と、カラーマップ(colormap)を使ったスタイリング、そして matplotlib のインストール方法まで、わかりやすく解説します。

Pythonで等高線グラフを描こう!plt.contourの使い方完全ガイド【初心者向け】


✅ matplotlib.pyplotとは?【超基本】

matplotlib.pyplot は、Pythonでグラフを描画するためのインターフェースです。棒グラフ、折れ線グラフ、ヒートマップ、等高線図など、様々なビジュアライゼーションを簡単に作ることができます。


✅ plt.contour() とは?どういうときに使う?

plt.contour() は、2次元のスカラー場に対して等高線(contour lines)を描画する関数です。例えば、地形の高さ、温度分布、電場の強さなど、値の変化を線で表現したいときに使います。

plt.contour(X, Y, Z, cmap='coolwarm')

ここで X, Y は座標の格子、Z はそれぞれの点の値、cmap は色のスタイル(colormap)です。


✅ matplotlibのインストール方法【pip & conda対応】

matplotlib.pyplot を使うには、まず matplotlib をインストールしましょう。

pipを使う場合(多くの人はこちら)

pip install matplotlib
インストール後、以下で確認:
import matplotlib.pyplot as plt
エラーが出なければ成功です。

✅ 実例で理解する:等高線グラフを描いてみよう

import numpy as np
import matplotlib.pyplot as plt

# データ作成
x = np.linspace(-3, 3, 100)
y = np.linspace(-3, 3, 100)
X, Y = np.meshgrid(x, y)
Z = np.sin(X) * np.cos(Y)

# 等高線図を描く
plt.contour(X, Y, Z, levels=10, cmap='coolwarm')
plt.colorbar()
plt.title("contour plot")
plt.show()

このコードでは、Z = sin(X) * cos(Y) という関数に基づいて、等高線がカラフルに描かれます。色は 'coolwarm' を使っていて、青から赤へのグラデーションで数値の変化が視覚的に分かりやすくなっています。

Pythonで等高線グラフを描こう!plt.contourの使い方


✅ cmap='coolwarm' って何?【カラーマップの選び方】

cmap='coolwarm' は、色のスキーム(カラーマップ)を指定しています。

  • 青 → 白 → 赤 のグラデーション

  • 中間(ゼロ付近)が白く、正の値が赤、負の値が青で表示される

  • 科学データや統計データの視覚化にぴったり

他にもたくさんのカラーマップがあります。よく使われるもの:

  • 'viridis'(デフォルト)

  • 'plasma'

  • 'inferno'

  • 'jet'(昔からあるが最近は非推奨)

確認方法はこちら:

import matplotlib.pyplot as plt
plt.colormaps()  # matplotlib 3.4以上

✅ plt.contour()とplt.contourf()の違い

関数 機能
plt.contour() 線のみの等高線図
plt.contourf() 塗りつぶされた等高線図

より視覚的に見やすくしたい場合は contourf() を使ってみましょう!


✅ おわりに:Pythonで可視化する力を育てよう

plt.contour() を使いこなせるようになると、2次元データを効果的に視覚化できるようになります。温度の分布、地形の起伏、関数のグラフなど、多くのシーンで役立ちます。