gpt4 book ai didi

python - 如何使用 matplotlib 将 3d 矩阵映射到 3d 散点图中的颜色值?

转载 作者:太空宇宙 更新时间:2023-11-03 15:54:01 27 4
gpt4 key购买 nike

我有一个 10x10x10 numpy 矩阵,我试图在 3d 中进行可视化:

from mpl_toolkits.mplot3d import Axes3D
M = np.random.rand(10, 10, 10)
fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')
counter = range(10)
ax.scatter(counter, counter, counter, c=??)

我想要一个 3d 图,其中位置 i,j,k 的黑暗度由 M[i,j,k] 给出。我应该如何将 M 传递给 scatter() 以便它正确执行此操作?它似乎需要一个二维数组,但我不明白在这种情况下它是如何工作的。

最佳答案

散点图需要与颜色数组 c 相同数量的点。因此,对于 1000 种颜色,您需要 1000 点。

import matplotlib.pyplot as plt
import numpy as np

from mpl_toolkits.mplot3d import Axes3D
M = np.random.rand(10, 10, 10)
fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')
counter = range(10)
x,y,z = np.meshgrid(counter, counter, counter)
ax.scatter(x,y,z, c=M.flat)


plt.show()

enter image description here

关于python - 如何使用 matplotlib 将 3d 矩阵映射到 3d 散点图中的颜色值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44706666/

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