P10-Contours 等高线图
import matplotlib.pyplot as plt
import numpy as np
def f(x, y):
# the height function
return (1 - x / 2 + x**5 + y**3) * np.exp(-x**2 - y**2)
n = 256
x = np.linspace(-3, 3, n)
y = np.linspace(-3, 3, n)
# X, Y = np.meshgrid(x, y) 将 x,y 绑定成网格的输入值
X, Y = np.meshgrid(x, y)
# use plt.contourf to filling contours
# plt.contourf方法 给网格图中由等高线分割的区域填充颜色
# X, Y and value for (X,Y) point
# 8, 等高线的密集程度 可以理解成网格图被等高线分成10块区域。 因为如果是 0, 会分成两块区域
# cmap=plt.cm.plot 将颜色()填充进网格图
plt.contourf(X, Y, f(X, Y), 8, alpha=0.75, cmap=plt.cm.hot)
# use plt.contour to add contour lines plt.contour 画等高线
C = plt.contour(X, Y, f(X, Y), 8, colors="k", linewidths=.5)
# adding label
# inline 在线里面(线条不会穿过数字)
plt.clabel(C, inline=True, fontsize=10)
plt.xticks(())
plt.yticks(())
plt.show()