使用Python Matploltlib绘制三维点

使用Python Matploltlib绘制三维点,python,matplotlib,3d,Python,Matplotlib,3d,我想创建一个小的模拟,我想我知道怎么做,但为了真正看到发生了什么,我需要将它可视化 我从一个5x5x5数组开始,我想用值填充它 data = numpy.zeros(shape=(5,5,5)) data[:,:,0]=4 data[:,:,1]=3 data[:,:,2]=2 data[:,:,3]=1 data[:,:,4]=0 这将创建一个在向上方向具有渐变的立方体(如果第三个轴是z轴) 现在,我该怎么画呢?我不想要曲面图或线框。只是每个坐标上的点,可能是彩色编码的,或者是值的透明度 作

我想创建一个小的模拟,我想我知道怎么做,但为了真正看到发生了什么,我需要将它可视化

我从一个5x5x5数组开始,我想用值填充它

data = numpy.zeros(shape=(5,5,5))
data[:,:,0]=4
data[:,:,1]=3
data[:,:,2]=2
data[:,:,3]=1
data[:,:,4]=0
这将创建一个在向上方向具有渐变的立方体(如果第三个轴是z轴)

现在,我该怎么画呢?我不想要曲面图或线框。只是每个坐标上的点,可能是彩色编码的,或者是值的透明度

作为测试,我尝试使用

ax.scatter(numpy.arange(5),numpy.arange(5),numpy.arange(5))
但这只会绘制一条由5个点组成的线

所以。。。我怎样才能得到我想要创造的125个点呢


Thx.

您可以用如下颜色对值进行编码:

x = np.arange(5)
X, Y, Z = np.meshgrid(x,x,x)

v = np.arange(125)
ax.scatter(X,Y,Z, c=v)

有关文档,请参阅。

我刚找到meshgrid。。。现在,“散布”将绘制所有125个点,所以我不必只为每个点指定一个值,比如z方向上的0到100。。。。我该怎么做?