Matplotlib---等高线图

1. 等高线图

等高线图:也称水平图,是一种在二维平面上显示 3D 图像的方法。

x = np.linspace(-5, 5, 100)
y = np.linspace(-5, 5, 100)

# 将上述数据变成网格数据形式
X, Y = np.meshgrid(x, y)

# 定义Z与X, Y之间的关系
Z = np.sqrt(X**2 + Y**2)

# 画等高线
cp = plt.contourf(X, Y, Z)
# 颜色柱
plt.colorbar(cp) 
plt.savefig('images/5-27.png')
plt.show()

Matplotlib---等高线图_第1张图片

 numpy.linspace()函数用于生成一组等间距的数字。这个函数的语法如下:

numpy.linspace(start, stop, num=50, endpoint=True, retstep=False, dtype=None)

参数说明:

  • start:指定数列的起始值。
  • stop:指定数列的结束值。
  • num:指定数列的元素个数,默认为50。
  • endpoint:指定是否包含结束值,默认为True,即包含结束值。
  • retstep:指定是否返回数列的步长,默认为False。
  • dtype:指定返回数列的数据类型。

numpy库中有一个meshgrid()函数可以生成一个二维坐标网格。

numpy.meshgrid()函数用于根据给定的两个一维数组(或者多维数组)生成一个二维坐标网格。这

个函数的语法如下:

numpy.meshgrid(*xi, copy=True, sparse=False, indexing='xy')

参数说明:

  • *xi:可以是一维数组、多维数组或者元组,表示需要生成坐标网格的数据。
  • copy:指定是否复制输入数据,默认为True。
  • sparse:指定是否生成稀疏网格,默认为False。如果设置为True,则返回稀疏矩阵。
  • indexing:指定生成坐标网格的索引方式,默认为'xy',表示从水平轴和垂直轴生成坐标。

在Matplotlib库中,contourf()函数用于绘制填充的等高线图。等高线图是一种显示三维曲面的方

法,通过使用等高线来表示不同高度的区域。

contourf()函数的语法如下:

contourf(X, Y, Z, levels=None, **kwargs)

参数说明:

  • X:二维数组或网格的x坐标。
  • Y:二维数组或网格的y坐标。
  • Z:二维数据数组,表示曲面的高度或函数值。
  • levels:指定等高线的高度,默认为None,表示自动计算等高线的高度。

除了上述参数之外,contourf()函数还可以接受一系列可选的参数,用于控制等高线的外观,例如

颜色、线型等。

你可能感兴趣的:(matplotlib,matplotlib,python,数学建模)