等高线画法,x,y分别为横纵坐标轴,一般会线性的使用x,y=np.meshgrid()将坐标轴切分到最细单位,本例未使用该函数,即隐形切分(x,y)至最细网格,可以想象成纳米那么细致的网格吧。x取值范围在[1,2],y取值范围在[3,4]。
(1,3)对应z=1映射到red
(2,3)对应z=2映射到blue
(1,4)对应z=2映射到lightgreen
(2,4)对应z=3映射到gray
import numpy as np
import matplotlib.pyplot as plt
from matplotlib.colors import ListedColormap
x=np.array([1,2])
y=np.array([3,4])
z=np.array([[1,2],[3,4]])
plt.xlim(1,2)
plt.ylim(3,4)
colors = ('red', 'blue', 'lightgreen', 'gray')
cmap = ListedColormap(colors[:4])
plt.contour(x,y,z,cmap=cmap) #只画等高线,不填充,图1
plt.contourf(x,y,z,cmap=cmap) #填充版的等高线,图2
连蒙带猜的,如有不对,请多指正!