gpt4 book ai didi

python - 直接体积图 3D 阵列

转载 作者:行者123 更新时间:2023-11-30 22:01:18 25 4
gpt4 key购买 nike

我正在寻找绘制一个 3 维数组。有没有一种方法可以直接输入数组,绘制体素并在 3d 数组中的位置产生的坐标处绘制实际值(颜色)?到目前为止我发现的所有方法(例如 ax.voxels、mlab.points3d...)都采用一个数组来表示 x、y 和 z 坐标,但我不想明确说明坐标,就像没有在 plt.imshow 中执行操作。

编辑:我想绘制一个数组,例如像这样:a = [ [ [10,20], [5,300] ] , [ [7,80],[9,12] ] ]这应该给出一个立方体,该立方体在数组索引给出的坐标处具有数组内的值。我想知道是否有一种方法可以直接获取这样的数组并绘制它。

最佳答案

问题似乎是如何将 (n,m,l) 形数组绘制为体素,其中体素的颜色由数组的值给出。这需要颜色图和标准化来将值转换为颜色(因为体素不直接将颜色图作为输入)。

其余部分很简单:

import matplotlib.pyplot as plt
import numpy as np
from mpl_toolkits.mplot3d import Axes3D

a = np.array( [ [ [10,20], [5,300] ] , [ [7,80],[9,12] ] ] )

fig = plt.figure()
ax = fig.gca(projection='3d')

cmap = plt.get_cmap("viridis")
norm= plt.Normalize(a.min(), a.max())
ax.voxels(np.ones_like(a), facecolors=cmap(norm(a)), edgecolor="black")

plt.show()

enter image description here

关于python - 直接体积图 3D 阵列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54094606/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com