【毎日Python】Pythonで等高線グラフを作成する方法|matplotlib.pyplot.contour

Pythonで等高線のグラフを表示する方法です。
使用するのは、Pythonのcontour関数とcontourf関数です。
等高線とは、地図や天気図等でよく用いられている、標高や気圧の高さを表す線のことです。
contour関数では、座標に基づくデータの大小を、等高線で表すことができます。

import numpy as np
import matplotlib.pyplot as plt

まず、numpyのlinspace関数で、x軸とy軸の値を設定します。
そして、meshgrid関数で、x軸とy軸の2次元データを作成します。
次に、等高線に関するデータを用意します。
今回はx軸とy軸の和を、等高線の高さに設定します。

ax = np.linspace(0, 100, 10)
x, y = np.meshgrid(ax,ax)
z = x + y

それでは、contour関数で等高線のグラフを作成してみましょう。
第一引数にx軸、第二引数にy軸、第三引数に等高線の高さを表す式、ここでは変数zを指定します。
実行します。
等高線のグラフを表示することができました。
x軸とy軸それぞれの値が大きくなるにつれ、x+yの値も大きくなっていることが確認できます。

plt.contour(x, y, z)
plt.title('x+y')
plt.xlabel('x')
plt.ylabel('y')
plt.show()

実行結果:
graph01

次に、同じグラフをcontourf関数で実行してみましょう。
それぞれの等高線の範囲ごとに、色で塗りつぶされているグラフが作成できました。

plt.contourf(x, y, z)
plt.title('x+y')
plt.xlabel('x')
plt.ylabel('y')
plt.show()

実行結果:
graph02

また、colorbar関数で、等高線の色に対するカラーバーを表示できます。
実行します。
カラーバー付きの等高線を表示することができました。

plt.contourf(x, y, z)
plt.colorbar()
plt.title('x+y')
plt.xlabel('x')
plt.ylabel('y')
plt.show()

実行結果:graph03

関連メソッド

【毎日Python】Pythonで折れ線グラフを作成する方法|matplotlib.pyplot.plot

【毎日Python】Pythonで散布図を作成|matplotlib.pyplot.scatter

【毎日Python】Pythonで棒グラフを作成する方法|matplotlib.pyplot.bar

【毎日Python】Pythonでヒストグラムを作成する方法|matplotlib.pyplot.hist

【こつこつPython】Pythonで配列から座標の格子点を作成する方法|numpy.meshgrid