我想模拟3D图中网球的位置。它希望它是一条与网球在被击中后在网球场上的位置相等的线。问题是我的代码绘制了一个蓝色图形,而不是如下面的链接中所示一行。我该怎么做才能使其成为蓝线?
此外,我得到一个错误:
TypeError:plot()缺少3个必需的位置参数:'self', 'xs'和'ys'
我不知道它如何影响我的代码结果
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
import numpy as np
x=np.array([0,3,5,7,9,11,13,15,17,19,21,23])
y=np.array([0,0.1,0.2,0.3,0.4,0.6,0.9,1,1.2,1.4,1.7,1.9])
z=np.array([1,1.2,1.5,1.7,1.8,1.9,2,1.9,1.8,1.7,1.5,1.2])
fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')
ax.plot_trisurf(x,y,z,)
plt.show()
Axes3D.plot()
我希望结果是一条蓝线,而不是下图所示的蓝色图形
答案 0 :(得分:0)
您可以按以下方式使用ax.plot(x,y,z,)
或plot3D(x,y,z,)
。蓝色表面来自plot_trisurf
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
import numpy as np
x=np.array([0,3,5,7,9,11,13,15,17,19,21,23])
y=np.array([0,0.1,0.2,0.3,0.4,0.6,0.9,1,1.2,1.4,1.7,1.9])
z=np.array([1,1.2,1.5,1.7,1.8,1.9,2,1.9,1.8,1.7,1.5,1.2])
fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')
ax.plot3D(x,y,z,) # or ax.plot(x,y,z,)
plt.show()