我目前正在尝试使用散点图来表示3D空间中的一组 4 维点matplotlib。为此,我将 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
aux=media
media=aux/10
datos[(vertice,arista,k)]=media
mMin=0.00054
mMax=0.067
normalizada=(media-mMin)/(mMax-mMin)
cmap = cm.ScalarMappable( cmap = plt.get_cmap('spectral'))
print(media)
ax.scatter(vertice, arista, k, c= cmap.to_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()
Run Code Online (Sandbox Code Playgroud)
media是第四个分量值,并且normalizada是该分量的标准化值,因此normalizada …