Python:用随机 x 和 y 绘制 3d 函数的最佳方式
Python : Best way to draw 3d function with random x and y
我生成了一个二维数组,在每一行中,有一个随机的x,随机的y和f(x,y)。
我选择随机 x
和 y
因为 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()
我生成了一个二维数组,在每一行中,有一个随机的x,随机的y和f(x,y)。
我选择随机 x
和 y
因为 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()