引用文章1
https://blog.csdn.net/lanchunhui/article/details/70495353
引用文章2
https://blog.csdn.net/qq_33506160/article/details/78450902
def f(x, y, w=5, sigma=2):
return np.sin(w*x)**2 * np.sin(w*y)**2 * np.exp((x+y)/sigma)
n = 256
x = np.linspace(0, 3, n)
y = np.linspace(0, 3, n)
X, Y = np.meshgrid(x, y)
C = plt.contour(X, Y, f(X, Y), 8, colors='black')
# 8代表等高线的密集程度,这里被分为10个部分。如果是0,则图像被一分为二。
# 可以将其设置为 20观察变化;
# 等高线之间的颜色填充,可选
#为等高线填充颜色 8表示按照高度分成8层 alpha表示透明度 cmap表示渐变标准, 如cmap=plt.cm.hot
plt.contourf(X, Y, f(X, Y), 8, alpha=.75, cmap='gray_r')
plt.clabel(C, inline=True, fontsize=10)
# inline=True,表示高度写在等高线上
# 关闭坐标轴
plt.xticks([])
plt.yticks([])