contour:轮廓,等高线。等高线是三维图像在二维空间的投影。
contourf([X, Y,] Z, [levels], **kwargs)
contour([X, Y,] Z, [levels], **kwargs)
contour函数绘制三维图像到二维图像所对应的等高线,而contourf函数也是绘制等高线,只不过contourf是带填充的等高线。这两个函数的参数都是一样的。
参数X、Y表示等高线的坐标,Z表示等高线的高度,也就是坐标点(x, y)对应的高度h。
如果X的长度为N,Y的长度为M,那么Z的形状为(N,M)。
参数levels表示如果为一个整数表示等高线的条数,如果为一个数组表示等高线的位置。
import matplotlib.pyplot as plt import numpy as np #plt.figure() #plt.subplot() x, y = np.arange(-3, 4), np.arange(-3, 4) # 坐标范围 plt.xlim(np.min(x), np.max(x)) plt.ylim(np.min(y), np.max(y)) # 刻度 plt.xticks(x) plt.yticks(y) plt.xlabel("x_axis") plt.ylabel("y_axis") # 等高线的x、y坐标 X, Y = np.meshgrid(np.linspace(-3, 3, 50), np.linspace(-3, 3, 50)) # 等高线为一个圆 Z = X ** 2 + Y ** 2 # 画出高度为2、4、6、8的等高线 C = plt.contourf(X, Y, Z, levels=[2, 4, 6, 8]) plt.clabel(C, inline=True, fontsize=10) plt.show()