Matlab 的 surf(x,y,z,c) 在 Matplotlib 中的等效函数是什么?

matplotlibpythondata visualization

我们举个例子,看看如何在 Matplotlib 中获得与 MatLab 的 surf(x,y,z,c) 相同的效果。步骤 −

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

  • 创建新图形或激活现有图形。

  • 'ax' 添加到图形作为子图布置的一部分。

  • 使用 Numpy 创建 r、u、v、x、yz 数据点。

  • 创建表面图。

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

示例

import matplotlib.pyplot as plt
import numpy as np

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

fig = plt.figure()
ax = fig.add_subplot(projection='3d')
r = 0.05
u, v = np.mgrid[0:2 * np.pi:30j, 0:np.pi:20j]

x = np.cos(u) * np.sin(v)
y = np.sin(u) * np.sin(v)
z = np.cos(v)

ax.plot_surface(x, y, z, cmap=plt.cm.YlGnBu_r)

plt.show()

输出


相关文章