【问题标题】:Plotting 3D points with Python Matploltlib使用 Python Matplotlib 绘制 3D 点
【发布时间】:2017-01-30 23:40:34
【问题描述】:

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

我从一个 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 个点?

谢谢。

【问题讨论】:

  • 我刚找到 meshgrid... 现在 scatter 将绘制所有 125 个点,所以我不仅需要以某种方式为每个点分配一个值,比如说在 z 方向上从 0 到 100 ....我该怎么做?

标签: python matplotlib 3d


【解决方案1】:

你可以像这样用颜色编码值:

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

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

有关文档,请参阅 here

【讨论】:

    猜你喜欢
    • 2020-06-12
    • 2015-01-17
    • 1970-01-01
    • 2023-02-05
    • 2016-08-17
    • 2021-02-02
    • 1970-01-01
    • 2021-03-06
    • 2018-06-23
    相关资源
    最近更新 更多