如何从数据框(Matplotlib)绘制表面图/3D 图?

matplotlibpythondata visualization

要绘制表面图/3D 图,我们需要 2D 数据点,而不是 1D 数据框。

步骤

  • 设置图形大小并调整子图之间和周围的填充。

  • 使用 figure() 方法创建新图形或激活现有图形。

  • 使用 add_subplot() 方法将 '~.axes.Axes' 作为子图排列的一部分添加到图形中。

  • 为样本数量初始化变量 'n'

  • 使用创建 x、y 和 z 数据点numpy。

  • 使用 plot_surface() 方法将表面变为 3d。

  • 要显示图形,请使用 show() 方法。

示例

import numpy as np
from matplotlib import pyplot as plt

plt.rcParams["figure.figsize"] = [7.50, 3.50]
plt.rcParams["figure.autolayout"] = True

fig = plt.figure()
ax = fig.add_subplot(111,projection='3d')

n = 50
x = np.random.rand(n)
y = np.tan(x)
z = np.random.rand(n, n)

surf = ax.plot_surface(y, x, z, rstride=1, cstride=1, cmap='copper',linewidth=0, antialiased=False)
ax.axis('off')
plt.show()

输出


相关文章