[英]How do you map a 3d matrix to color values in a 3d scatter plot using matplotlib?
我有一個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()
嘗試:
scatter3D(xs, ys, zs=0, zdir='z', s=20, c=None, depthshade=True, *args, **kwargs)
但是c!=沒有
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.