3

我正在尝试从 x、y、z 点列表制作 3D 图,并且我想根据第四个变量 rho 的值绘制颜色。

目前我有;

fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')
ax.plot3D(cell_x, cell_y, cell_z, linestyle='None', marker='o', markersize = 5, antialiased=True)
ax.set_xlim3d(0.45, 0.55)
ax.set_ylim3d(0.45, 0.55)
ax.set_zlim3d(0.45, 0.55)

如何添加 cell_rho (我的第四个数组)作为我的 x、y、z 点的颜色?(例如对于喷射颜色图)。

非常感谢。

编辑:我不能使用散点图,因为对于我的 18000 点,散点图与仅带有标记的 plot3d 相比非常慢。

4

1 回答 1

7

如果你想显示一个简单的 3D 散点图,你不能用scatter?
例如,

x, y, z = randn(100), randn(100), randn(100)
fig = plt.figure()
from mpl_toolkits.mplot3d import Axes3D
ax = fig.add_subplot(111, projection='3d')
ax.scatter(x, y, z, c=randn(100))
plt.show()

(我正在运行上面的代码python -pylab。)

在此处输入图像描述

相反,plot3D您似乎必须将第四维转换为 RGB 元组。

于 2012-02-06T20:23:24.500 回答