Matplotlib 3D轮廓图

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

示例代码

#! /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()

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


上一篇: Matplotlib三维绘图 下一篇: Matplotlib 3D线框图