【matplotlib】等高線をプロットしてみる【coutourf】【メモ】

matplotlibを使って等高線をプロットしてみたのでメモしておきます。

プロット用のデータを作る

import numpy as np
import matplotlib.pyplot as plt
 
x = np.linspace(-1, 1, 20)
y = np.linspace(-1, 1, 20)
xx,yy = np.meshgrid(x, y)
z = xx**2+yy**2

プロットしてみる

fig = plt.figure(figsize=(10,5))
ax1 = fig.add_subplot(1, 2, 1)
ax1.contourf(xx, yy, z, cmap=plt.cm.PuBu)
ax2 = fig.add_subplot(1, 2, 2, projection='3d')
ax2.plot_wireframe(xx,yy,z)
fig = plt.figure(figsize=(10,5))
ax1 = fig.add_subplot(1, 2, 1)
ax1.contourf(xx, yy, z, cmap=plt.cm.PuBu)
ax1.contour(xx, yy, z, levels=[0.2], linewidths=2, colors='darkred') # levelsにzの値を入れる

ax2 = fig.add_subplot(1, 2, 2)
ax2.contourf(xx, yy, z, cmap=plt.cm.PuBu)
ax2.contour(xx, yy, z, levels=[0.1,0.7], linewidths=2, colors='darkred') # levelsには複数入れることも出来る
タイトルとURLをコピーしました