tf好朋友之matplotlib的使用——contour等高线的绘制

tf好朋友之matplotlib的使用——contour等高线的绘制

  • 等高线绘制常用函数
    • plt.contourf()
    • plt.contour()
    • plt.clabel()
  • 应用示例

大家都有学过地理噢!地理里面有一个很帅气的东西叫做!等!高!线!
tf好朋友之matplotlib的使用——contour等高线的绘制_第1张图片

等高线绘制常用函数

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。
其调用结果为:
tf好朋友之matplotlib的使用——contour等高线的绘制_第2张图片

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代表线的宽度。
tf好朋友之matplotlib的使用——contour等高线的绘制_第3张图片

plt.clabel()

该函数用于定义等高线中的标签。
应用方法如下:

# clabel用于定义等高线的标签
plt.clabel(C,inline = True,fontsize = 10)

其中,C代表需要添加标签的线;inline代表标签添加的位置,当其为True时是上面那副等高线图的效果,当其为False时,线会穿过数字;fontsize代表标签大小。下图为inline = False时的效果。
tf好朋友之matplotlib的使用——contour等高线的绘制_第4张图片
下图为inline = True时的效果:
tf好朋友之matplotlib的使用——contour等高线的绘制_第5张图片

应用示例

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() 

你可能感兴趣的:(contour,matplotlib,等高线绘制)