pcolor, pcolorfast, pcolormesh
なお、pcolor, pcolormeshはplt.pcolorのように使うのだが、pcolorfastはaxisに対してaxis.pcolorfastのように使うようだ。
pcolorとcontourfを使う上での重要な違いは,contourfではデータの中心座標をデータと同じ数与えるのに対して,pcolorではデータの左下の座標をデータよりもx-方向,y-方向とも1つづつ多く与えることだ.この点については,pcolorの本家説明の図が分かりやすい.
下のサンプルで座標の与え方の違いと,欠損がどのように図に反映されるかを理解することができるだろう.
from matplotlib import pyplot as plt
import numpy as np
nx=4
ny=3
# z=np.random.randn(ny,nx)
z=np.ones([ny,nx])
for y in range(ny):
for x in range(nx):
z[y,x]=x+y
z[:,1:2]=np.nan
z[ny-1,nx-1]=np.nan
plt.ion()
x_c=np.arange(1,nx+1)
y_c=np.arange(1,ny+1)
x_sw=np.arange(0.5,nx+1)
y_sw=np.arange(0.5,ny+1)
plt.subplot(1,2,1)
plt.contourf(x_c,y_c,z)
plt.axis([0.5,nx+0.5,0.5,ny+0.5])
plt.title('contourf')
plt.subplot(1,2,2)
plt.pcolor(x_sw,y_sw,z)
plt.axis([0.5,nx+0.5,0.5,ny+0.5])
plt.title('pcolor')