先看一下效果:
代码:
import numpy as np
import matplotlib.pyplot as plt
def contour(X, Y, Z):
plt.style.use('seaborn-white')
plt.figure(1)
plt.contour(X, Y, Z, colors='black')
plt.figure(2)
plt.contour(X, Y, Z, 20, cmap='RdGy')
plt.figure(3)
plt.contourf(X, Y, Z, 20, cmap='RdGy')
plt.colorbar()
plt.figure(4)
contours = plt.contour(X, Y, Z, 3, colors='black')
plt.clabel(contours, inline=True, fontsize=8)
plt.imshow(Z, extent=[0, 5, 0, 5], origin='lower',
cmap='RdGy', alpha=0.5)
plt.colorbar()
plt.show()
if __name__ == "__main__":
x = np.linspace(0, 5, 50)
y = np.linspace(0, 5, 40)
X, Y = np.meshgrid(x, y)
Z = np.sin(X) ** 10 + np.cos(10 + Y * X) * np.cos(X)
# z的大小应该是x行y列
contour(X, Y, Z)