Построение графика в 2d
подскажите пожалуйста как переделать ниже представленный код, чтобы он строил график дополнительно еще и в 2d.
pallet=plt.get_cmap('rainbow') # spectral, rainbow, terrain
nDim=3
for alg in ['UMAP','tSNE']:
if alg=='UMAP':
reducer = umap.UMAP(n_neighbors=30, min_dist=0.1, n_components=nDim, random_state=42)
mapOut = reducer.fit_transform(standard_feature_list_v2)
mapOut_umap = mapOut
elif alg=='tSNE':
tsne = manifold.TSNE(n_components=nDim, init='random', random_state=42, perplexity=30, verbose=0)
mapOut = tsne.fit_transform(standard_feature_list_v2)
mapOut_tsne = mapOut
figHdb = plt.figure(figsize=(17,15))
axHdb = figHdb.add_subplot(111, projection='3d')
axHdb.set_title(r'$'+alg+'$ 3D-visualization',fontsize=16)
axHdb.set_xlabel(r'$'+alg+'_{out}^{1}$',fontsize=14)
axHdb.set_ylabel(r'$'+alg+'_{out}^{2}$',fontsize=14)
axHdb.set_zlabel(r'$'+alg+'_{out}^{3}$',fontsize=14)
im3 = axHdb.scatter(mapOut[:,0], mapOut[:,1], mapOut[:,2], s=2, cmap=pallet, c=clusterLabels)
figHdb.colorbar(im3, ax=axHdb)
figHdb.tight_layout()
figHdb.savefig(alg+'out_3D.png')
Ответы (1 шт):
Автор решения: CrazyElf
→ Ссылка
Ставим 2 дименшена и соответственно убираем всё, что связано с 3D:
nDim = 2 # - тут было 3
...
axHdb = figHdb.add_subplot(111) # , projection='3d') - этот параметр теперь лишний
...
# axHdb.set_zlabel(r'$'+alg+'_{out}^{3}$',fontsize=14) - эта строка целиком лишняя
im3 = axHdb.scatter(mapOut[:,0], mapOut[:,1], s=2, cmap=pallet, c=clusterLabels) # , mapOut[:,2] - этот параметр теперь лишний
...
figHdb.savefig(alg+'out_2D.png') # было out_3D
Вроде всё.
