Matplotlib 3D 等高线图——contour3d()函数

原文:https://www.studytonight.com/matplotlib/matplotlib-3d-contour-plot-contour3d-function

在本教程中,我们将使用 Matplotlib 库介绍三维中的等高线图。

要绘制或启用 3d 绘图,您只需导入 mplot3d 工具包。

有一个名为ax.contour3D()的函数,用于创建三维等高线图

该功能要求所有输入数据都是二维规则网格的形式,其 Z 数据在每个点进行评估。

三维等高线图示例

在下面给出的例子中,我们将为正弦函数创建一个三维等高线图。代码片段如下所示:

from mpl_toolkits import mplot3d 
import numpy as np 
import matplotlib.pyplot as plt 
from matplotlib import cm 
import math 

x = [i for i in range(0, 200, 100)] 
y = [i for i in range(0, 200, 100)] 

X, Y = np.meshgrid(x, y) 
Z = [] 
for i in x: 
    t = [] 
    for j in y: 
        t.append(math.sin(math.sqrt(i*2+j*2))) 
    Z.append(t) 

fig = plt.figure() 
ax = plt.axes(projection='3d') 
ax.contour3D(X, Y, Z, 50, cmap=cm.cool) 
ax.set_xlabel('a') 
ax.set_ylabel('b') 
ax.set_zlabel('c') 
ax.set_title('3D contour Plot for sine') 
plt.show()

上述代码中使用的函数解释如下:

  • 网格网格

    这是 NumPy 库的一个功能,用于从两个给定的一维数组中创建一个矩形网格,表示笛卡尔或矩阵索引

  • plt.axes()

    该功能用于创建轴的对象。

  • ax . 3d 轮廓

    该功能用于创建轮廓

  • ax . set _ xlabel

    该功能用于设置 x 轴的标签

  • ax.set_title()

    该功能用于为地块提供标题

以下是上述代码的输出:

3d contour plot matplotlib

总结:

在上一个教程中,我们介绍了三维折线图和散点图,并介绍了 matplotlib 中的三维图。在本教程中,我们介绍了 matplotlib 中的三维等高线图。