tf好朋友之matplotlib的使用——contour等高线的绘制
大家都有学过地理噢!地理里面有一个很帅气的东西叫做!等!高!线!
等高线绘制常用函数
plt.contourf()
该函数用于定义等高线图两条线之间的填充物。
应用方法如下:
# 调用等高线的填充物
plt.contourf(X,Y,f_x_y,8,alpha = 0.5,cmap = plt.cm.hot)
其中,X,Y分别代表网格化后的x,y坐标;f_x_y对于等高线而言,其代表了高度;8代表等高线要分为10块(输入0时等高线分为2块);alpha代表每个填充物的透明度;cmap代表填充的色调,这里选择hot热烈的色调,其可选择的内容可以参考https://matplotlib.org/examples/color/colormaps_reference.html。
其调用结果为:
plt.contour()
该函数用于定义等高线中的线。
应用方法如下:
# 定义等高线的线的颜色,宽度
C = plt.contour(X,Y,f_x_y,8,colors='black',linewidth = 5)
其中,X,Y分别代表网格化后的x,y坐标;f_x_y对于等高线而言,其代表了高度;8代表等高线要分为10块(输入0时等高线分为2块);colors代表线的颜色;linewidth代表线的宽度。
plt.clabel()
该函数用于定义等高线中的标签。
应用方法如下:
# clabel用于定义等高线的标签
plt.clabel(C,inline = True,fontsize = 10)
其中,C代表需要添加标签的线;inline代表标签添加的位置,当其为True时是上面那副等高线图的效果,当其为False时,线会穿过数字;fontsize代表标签大小。下图为inline = False时的效果。
下图为inline = True时的效果:
应用示例
import matplotlib.pyplot as plt
import numpy as np
x = np.linspace(-1,1,50)
y = np.linspace(-1,1,50)
# x、y的网格化
X,Y = np.meshgrid(x,y)
# 计算f(x,y)的值,对于等高线而言,其代表了高度
f_x_y = -(X**4+Y**3-2*X)*np.sin(X)
# 调用等高线的填充物
plt.contourf(X,Y,f_x_y,8,alpha = 0.5,cmap = plt.cm.hot)
# 定义等高线的线的颜色,宽度
C = plt.contour(X,Y,f_x_y,8,colors='black',linewidth = 5)
# clabel用于定义等高线的标签
plt.clabel(C,inline = True,fontsize = 10)
plt.xticks(())
plt.yticks(())
plt.show()
来源:CSDN
作者:Bubbliiiing
链接:https://blog.csdn.net/weixin_44791964/article/details/100164910