简介
用pcolor可以来画2维图,即有两个自变量x,y,和一个因变量C。注意的点:
- pcolor是用格点来表示C值。故应先用
np.meshgrid(x,y)
来生成二维的x和y坐标点。
- C的行索引对应y坐标,列索引对应x坐标。所以画图时,一般将计算好的C转置。
- pcolor和pcolor功能是相同的,官方文档建议用pcolormesh,它的速度会更快。
实例代码
def f(x,y):
return (x**2+y-11)**2+(x+y**2-7)**2
x = np.linspace(-7,7,50)
y = np.linspace(-7,7,50)
z = np.zeros((50,50))
for i,a in enumerate(x):
for j,b in enumerate(y):
z[i,j] = f(a,b)
xx,yy = np.meshgrid(x,y)
fig, ax = plt.subplots()
c = ax.pcolormesh(xx,yy,z.T,cmap='jet')
fig.colorbar(c, ax=ax)
结果: