Python matplotlib:plot3D,颜色为4D

时间:2012-02-06 18:09:02

标签: python matplotlib color-mapping mplot3d

我正在尝试从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相比,散点图非常慢。

1 个答案:

答案 0 :(得分:6)

如果您想显示一个简单的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下运行上面的代码。)

enter image description here

恰恰相反,使用plot3D时,您必须将第四维转换为RGB元组。