matplotlib.pyplot contourf
coutour([X, Y,] Z,[levels], **kwargs)
contour和contourf都是画三维等高线图的,不同点在于contour() 是绘制轮廓线,contourf()会填充轮廓。除非另有说明,否则两个版本的函数是相同的。
参数: X,Y:类似数组,可选, 为Z中的坐标值, 当 X,Y,Z 都是 2 维数组时,它们的形状必须相同。如果都是 1 维数组时,len(X)是 Z 的列数,而 len(Y) 是 Z 中的行数。(例如,经由创建numpy.meshgrid())
Z:类似矩阵, 绘制轮廓的高度值.
levels:int或类似数组,可选, 确定轮廓线/区域的数量和位置
其他参数: aalpha:float ,可选
alpha混合值,介于0(透明)和1(不透明)之间。
cmap:str或colormap ,可选
Colormap用于将数据值(浮点数)从间隔转换为相应Colormap表示的RGBA颜色。用于将数据缩放到间隔中看 。
要画出等高线,核心函数是plt.contourf(),但在这个函数中输入的参数是x,y对应的网格数据以及此网格对应的高度值,因此我们调用np.meshgrid(x,y)把x,y值转换成网格数据:
显示的图为:
如果想显示热力图,那只要在plt.contourf()函数中添加属性cmap=plt.cm.hot就能显示热力图,其中cmap代表为color map,把color map映射成hot(热力图)
# 填充等高线
plt.contourf(X, Y, f(X, Y), cmap=plt.cm.hot)
显示的图为:
本文转自:https://blog.csdn.net/lens___/article/details/83960810