1. 代码
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)
# use plt.contourf to filling contours
# X, Y and value for (X,Y) point
# 画出等高线的颜色。 8代表有多少个圈,也就是分成多少个部分。alpha代表透明度,cmap代表一种颜色定义方式
plt.contourf(X, Y, f(X, Y), 8, alpha=.75, cmap=plt.cm.hot)
# use plt.contour to add contour lines
# 画出等高线,color颜色,linewidth是线的宽度。
C = plt.contour(X, Y, f(X, Y), 8, colors='black', linewidth=.5)
# adding label
# 画出线的高度,inline=True代表高度会穿过线,在线内。视觉上好看一点
plt.clabel(C, inline=True, fontsize=10)
plt.xticks(())
plt.yticks(())
plt.show()
2. 运行结果