数据分析必备:一步步教你如何用matplotlib做数据可视化(12)

发布于:2024-06-26 ⋅ 阅读:(15) ⋅ 点赞:(0)

1、Matplotlib 3D线框图

线框图采用值网格并将其投影到指定的三维表面上,并且可以使得到的三维形式非常容易可视化。plot_wireframe()函数用于此目的

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)
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.plot_wireframe(X, Y, Z, color='black')
ax.set_title('线框图')
plt.show()

执行上面示例代码,得到以下结果
在这里插入图片描述

2、Matplotlib 3D曲面图

曲面图显示指定的因变量(Y)和两个独立变量(X和Z)之间的函数关系。该图是等高线图的伴随图。曲面图类似于线框图,但线框的每个面都是填充多边形。这可以帮助感知可视化曲面拓扑。plot_surface()函数x,y和z作为参数。

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
 x = np.outer(np.linspace(-2, 2, 30), np.ones(30))
 y = x.copy().T # transpose
 z = np.cos(x ** 2 + y ** 2)
 fig = plt.figure()
 ax = plt.axes(projection='3d')
 ax.plot_surface(x, y, z,cmap='viridis', edgecolor='none')
 ax.set_title('表面图')
 plt.show()

执行上面示例代码,得到以下结果
在这里插入图片描述