python颜⾊表⽰第四维,在matplotlibs中使⽤颜⾊表⽰4个维度
点的正确⽅法
我⽬前正在尝试使⽤matplotlib散点来表⽰3D空间中的⼀组4维点。为此,我将第四维度表⽰为3D点的颜⾊。在
根据这⼀点,我想打印彩⾊点。因此,这些点的颜⾊取决于该点的第四个分量。在
我想使⽤光谱颜⾊图。
我已经成功了,但⽤的是灰阶,这个重复对我来说不太合适。在
我真的需要⽤光谱颜⾊图。下⾯的代码是我在询问之前的最后⼀次尝试:inicioVertices=5
finalVertices=10
fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')
datos={}
for vertice in range(inicioVertices,finalVertices):
print(vertice)
for arista in range(vertice, vertice*(vertice-1)/2):
for k in range(vertice//4,vertice+1):
media=0.0
for n in range(10):
g=nx.dense_gnm_random_graph(vertice,arista)
inicio=time.time()
recubrimientoVertices(g,k)
diferencia=time.time()-inicio
media+=diferencia
matplotlib中subplotaux=media
media=aux/10
datos[(vertice,arista,k)]=media
mMin=0.00054
mMax=0.067
normalizada=(media-mMin)/(mMax-mMin)
cmap = cm.ScalarMappable( cmap = _cmap('spectral'))
print(media)
ax.scatter(vertice, arista, k, c= _rgba(normalizada), marker='o',s=40)
print("max"+str(max(datos.values())))
print("min"+str(min(datos.values())))
ax.set_xlabel('Vertices')
ax.set_ylabel('Aristas')
ax.set_zlabel('K')
plt.show()
media是第四个分量的值,normalizada是这个分量的规范化值,所以normalizada总是这个interval [0,1]中的⼀个数字。这是先前代码返回的表⽰:
如你所见,所有的圆点都是⿊⾊的。我希望有⼈能帮我这个忙,谢谢。在
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论