Matplotlib 3D轮廓图

ax.contour3D()函数创建三维等高线图。它要求所有输入数据采用二维规则网格的形式,并在每个点评估Z数据。在这里,将展示三维正弦函数的三维等高线图。

示例代码

# Filename : example.py
# Copyright : 2020 By Nhooo
# Author by : www.cainiaojc.com
# Date : 2020-08-08
#! /usr/bin/env python
 #coding=utf-8
 import matplotlib.pyplot as plt
 import numpy as np
 import math
 import seaborn as sns
 plt.rcParams['font.sans-serif'] = ['SimHei'] # 步骤一(替换sans-serif字体)
 plt.rcParams['axes.unicode_minus'] = False # 原文出自【立地货】,商业转载请联系作者获得授权,非商业请保留原文链接:
 from mpl_toolkits import mplot3d
 def f(x, y):
    return np.sin(np.sqrt(x ** 2 + y ** 2))
 x = np.linspace(-6, 6, 30)
 y = np.linspace(-6, 6, 30)
 X, Y = np.meshgrid(x, y)
 Z = f(X, Y)
 fig = plt.figure()
 ax = plt.axes(projection='3d')
 ax.contour3D(X, Y, Z, 50, cmap='binary')
 ax.set_xlabel('x')
 ax.set_ylabel('y')
 ax.set_zlabel('z')
 ax.set_title('3D contour')
 plt.show()

执行上面示例代码,得到以下结果 -

3D轮廓图