在python中将2D图形转换为3D



在 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参数,markerzisealpha不存在,要更改点的大小,您应该使用s参数,如下所示:

ax.scatter(xs, ys, zs, s=10, c=c, marker=m)

请注意s也可以是与xs长度相同的数组,如果您希望点的大小与其xs值成正比。

最新更新