plot cluster from matlab to python

3 visualizaciones (últimos 30 días)
sam mohel
sam mohel el 16 de Feb. de 2021
Editada: sam mohel el 16 de Feb. de 2021
i'm new to matlab.. and started to plot data into clusters shape like this image
the code i have written by matlab as
cmap=colormap;
for i=1:NCLUST
ic=int8((i*64.)/(NCLUST*1.));
subplot(2,1,1)
hold on
plot(rho(icl(i)),delta(icl(i)),'o','MarkerSize',8,'MarkerFaceColor',cmap(ic,:),'MarkerEdgeColor',cmap(ic,:));
end
subplot(2,1,2)
disp('Performing 2D nonclassical multidimensional scaling')
Y1 = mdscale(dist, 2, 'criterion','metricstress');
plot(Y1(:,1),Y1(:,2),'o','MarkerSize',2,'MarkerFaceColor','k','MarkerEdgeColor','k');
title ('2D Nonclassical multidimensional scaling','FontSize',15.0)
xlabel ('X')
ylabel ('Y')
for i=1:ND
A(i,1)=0.;
A(i,2)=0.;
end
for i=1:NCLUST
nn=0;
ic=int8((i*64.)/(NCLUST*1.));
for j=1:ND
if (halo(j)==i)
nn=nn+1;
A(nn,1)=Y1(j,1);
A(nn,2)=Y1(j,2);
end
end
hold on
plot(A(1:nn,1),A(1:nn,2),'o','MarkerSize',2,'MarkerFaceColor',cmap(ic,:),'MarkerEdgeColor',cmap(ic,:));
end
faa = fopen('CLUSTER_ASSIGNATION', 'w');
for i=1:ND
fprintf(faa, '%i %i %i\n',i,cl(i),halo(i));
end
and what i did in python like this
for i in range(NCLUST):
ic=int8((i*64.)/(NCLUST*1.))
plt.subplot(2,1,1)
plt.plot(rho[icl[i]],delta[icl[i]],marker='o',markersize=8,markerfacecolor='blue',color='green')
plt.subplot(2,1,2)
print('Performing 2D nonclassical multidimensional scaling')
Y1 = mdscale(dist, 2, 'criterion','metricstress')
plt.plot(Y1[:,1],Y1[:,2],marker='o',markersize=2,markerfacecolor='black',markeredgecolor='black')
title ('2D Nonclassical multidimensional scaling','FontSize',15.0)
xlabel ('X')
ylabel ('Y')
for i in range(ND):
A[i,1]=0.
A[i,2]=0.
for i in range(NCLUST):
nn=0;
ic=int8((i*64.)/(NCLUST*1.))
for j in range (ND):
if (halo[j]==i):
nn=nn+1;
A[nn,1]=Y1[j,1]
A[nn,2]=Y1[j,2]
plt.show()
plt.plot(A[1:nn,1],A[1:nn,2],marker='o',markersize=2,markerfacecolor='black',markeredgecolor='black')
with open ('CLUSTER_ASSIGNATION', 'w') as faa:
print('Generated file:CLUSTER_ASSIGNATION')
print('column 1:element id')
print('column 2:cluster assignation without halo control')
print('column 3:cluster assignation with halo control')
for i in range (ND):
print('%i %i %i\n',i,cl[i],halo[i],file=faa)
but got error with blank image
MatplotlibDeprecationWarning: Adding an axes using the same arguments as a previous axes currently reuses the earlier instance. In a future version, a new instance will always be created and returned. Meanwhile, this warning can be suppressed, and the future behavior ensured, by passing a unique label to each axes instance.
plt.subplot(2,1,1)
Performing 2D nonclassical multidimensional scaling
Traceback (most recent call last):
Y1 = mdscale(dist, 2, 'criterion','metricstress')
NameError: name 'mdscale' is not defined

Respuestas (0)

Categorías

Más información sobre Call Python from MATLAB en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by