我制作了一个 3d 散点图,显示了星系团中星系的位置(基本上就像纬度和经度)作为它们速度的函数。但是,我被要求让数据点的颜色由代码中的另一个变量 h 确定。知道变量的目的并不重要,但在我的实际代码中,每个数据点都是由 4 个数组确定的。在花了很长时间查找如何做到这一点之后,我终于(几乎)拥有了它。唯一的问题是,当我绘制它时,只要我移动绘图以从不同的方向查看它,点的颜色就会改变。另外,我在尝试显示彩条时遇到了问题。
import pylab as p
import numpy as np
from mpl_toolkits.mplot3d import Axes3D
import matplotlib.pyplot as plt
import matplotlib.cm as cm
ra=np.random.random((100))
dec=np.random.random((100))
h=np.random.random((100))
z=np.random.random((100))
datamin=min(h)
datamax=max(h)
fig=p.figure()
ax3D=fig.add_subplot(111, projection='3d')
ax3D.scatter(ra, dec, z, c=h, vmin=datamin, vmax=datamax,
marker='o', cmap=cm.Spectral)
p.title("MKW4s-Position vs Velocity")
p.show()