plot cluster from matlab to python

조회 수: 3 (최근 30일)
sam mohel
sam mohel 2021년 2월 16일
편집: sam mohel 2021년 2월 16일
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

답변 (0개)

카테고리

Help CenterFile Exchange에서 Call Python from MATLAB에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by