我在簇的数量上有一个代码循环,并用不同的颜色绘制每个点,然后使用非度量缩放对这些点进行缩放,以在2D中重新创建数据
mtalab中的代码为
cmap=colormap;
for i=1:10
ic=int8((i*64.)/(10*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');
问题是我需要用python来做这件事,所以我喜欢它
for i in range(10):
fig.add_subplot(211)
print(rho[icl[i]],delta[icl[i]])
plt.scatter(rho[icl[i]],delta[icl[i]],marker='o')
plt.show()
fig.add_subplot(212)
print('Performing 2D nonclassical multidimensional scaling')
mds=manifold.MDS(max_iter=200, eps=1e-4, n_init=1, dissimilarity="precomputed")
Y1=mds.fit_transform(dist)
plt.plot(Y1[:,1],Y1[:,2],marker='o',markersize=2,markerfacecolor='black',markeredgecolor='black')
我删除了colormap,因为我在多次搜索后发现了该类的问题,我没有找到它的替代品。。但我犯了这个错误
plt.plot(Y1[:,1],Y1[:,2],marker='o',markersize=2,markerfacecolor='black',markeredgecolor='black')
IndexError: index 2 is out of bounds for axis 1 with size 2
如果有什么需要补充的,请告诉我。我试图尽可能地说明这个问题
将代码从Matlab转换为Python时,需要记住Matlab数组索引从1开始,而在Python中它从0开始。 在代码
Y1[:,1],Y1[:,2]
中,错误说明您试图索引超出数组大小相关问题 更多 >
编程相关推荐