Python:使用随机x和y绘制3d函数的最佳方法
我生成了一个二维数组,在每一行中,有一个随机的x,随机的y和f(x,y)。 我选择了randomPython:使用随机x和y绘制3d函数的最佳方法,python,mplot3d,Python,Mplot3d,我生成了一个二维数组,在每一行中,有一个随机的x,随机的y和f(x,y)。 我选择了randomx和y,因为f(x,y)的计算时间很长 我使用mpl\u工具包.mplot3d中的Axes3D绘制结果: ax.scatter(tableau[:,0], tableau[:,1], zs=tableau[:,2], c='r', marker='o') 结果是没有用的。无法理解f的形状 有没有更好的方法来绘制f(x,y)?如果您的目标是更好地查看函数的形状,您可以使用matplotlib方法旋转
x
和y
,因为f(x,y)
的计算时间很长
我使用mpl\u工具包.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)
;它设置轴角度的仰角和方位角。例如:
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时:
谢谢你的回答。因为(x,y)的集合是不规则的,所以结果也不是很好。我将把结果加起来作为我问题的答案
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()