Python:用随机 x 和 y 绘制 3d 函数的最佳方式

Python : Best way to draw 3d function with random x and y

我生成了一个二维数组,在每一行中,有一个随机的x,随机的y和f(x,y)。 我选择随机 xy 因为 f(x, y) 计算起来很长。

我用 mpl_toolkits.mplot3d 中的 Axes3D 得出结果:

ax.scatter(tableau[:,0], tableau[:,1], zs=tableau[:,2], c='r', marker='o')

结果没有用。无法理解 f

的形状

有没有更好的绘制f(x,y)的方法?

如果您的目标是更好地查看函数的形状,您可以使用 matplotlib 方法旋转轴 view_init(elev=None, azim=None);它设置轴 angle 的仰角和方位角。例如:

from mpl_toolkits.mplot3d import axes3d
import matplotlib.pyplot as plt

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

# Test 3D function
X, Y, Z = axes3d.get_test_data(0.1)
ax.plot_wireframe(X, Y, Z, rstride=5, cstride=5)

ax.view_init(elev, azim)

plt.draw()

使用 elev=30 和 azim=45:

使用 elev=30 和 azim=90:

使用 elev=0 和 azim=90:

  fig = plt.figure()
  ax = fig.add_subplot(111, projection='3d')
  elev=70 
  azim=30
  X, Y, Z = tableau[:,0], tableau[:,1], tableau[:,2]
  ax.plot_wireframe(X, Y, Z, rstride=5, cstride=5)

  ax.view_init(elev, azim)

  plt.draw()