生成等高线图
import matplotlib.pyplot as plt
import numpy as np
def f(a, b):
return (1-x/2+x**5+y**3)*np.exp(-x**2-y**2)
x = np.linspace(-3, 3,100)
y = np.linspace(-3, 3, 100)
X, Y = np.meshgrid(x, y)
plt.contourf(X, Y, f(X, Y), 8, alpha=0.75, cmap=plt.cm.hot)
plt.yticks(())
plt.xticks(())
plt.show()
效果图
将用黑线描等高线并标值(内嵌入等高线)
X, Y = np.meshgrid(x, y)
plt.contourf(X, Y, f(X, Y), 8, alpha=0.75, cmap=plt.cm.hot)
C = plt.contour(X, Y, f(X, Y), 8, colors='black', linewidth=.5)
plt.clabel(C, inline=True, fontsize=10)
数值未被内嵌入等高线
plt.clabel(C, inline=False, fontsize=10)
完整代码
import matplotlib.pyplot as plt
import numpy as np
def f(x, y):
return (1-x/2+x**5+y**3)*np.exp(-x**2-y**2)
x = np.linspace(-3, 3, 100)
y = np.linspace(-3, 3, 100)
X, Y = np.meshgrid(x, y)
plt.contourf(X, Y, f(X, Y), 8, alpha=0.75, cmap=plt.cm.hot)
C = plt.contour(X, Y, f(X, Y), 8, colors='black', linewidth=.5)
plt.clabel(C, inline=False, fontsize=10)
plt.yticks(())
plt.xticks(())
plt.show()
改为冷力图
plt.contourf(X, Y, f(X, Y), 8, alpha=0.75, cmap=plt.cm.cool)