在 2D 中,我有我的 x 来获取 x 和 y 坐标的值:
x = [[0.72,0.82]]
在代码中的某个时刻,我使用它:
plt.plot(x[i][0], x[i][1], 'go', markersize=15, alpha=.5)
现在我有一个 x 来获取 x、y 和 z 坐标的值:
x = [[0.72,0.82,-0.77]]
而且我现在只想在 3D 中重现 2D 的相同效果,我尝试做这样的事情:
fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')
ax.set_xlim(-1, 1)
ax.set_ylim(-1, 1)
ax.set_zlim(-1, 1)
ax.set_xlabel('X')
ax.set_ylabel('Y')
ax.set_zlabel('Z')
ax.scatter(x[i][0], x[i][1], x[i][2], 'go', markersize=15, alpha=.5)
但是我收到以下错误:
AttributeError: Unknown property markersize
附言:我正在使用:
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
我想知道如何正确绘制它们。
检查 matplotlib 参考以获取ax.scatter
参数,markerzise
和alpha
不存在,要更改点的大小,您应该使用s
参数,如下所示:
ax.scatter(xs, ys, zs, s=10, c=c, marker=m)
请注意s
也可以是与xs
长度相同的数组,如果您希望点的大小与其xs
值成正比。