2012-12-21 14 views
6

Bir matrisin içerdiği değerlere göre görselleştirilmesini istiyorum. 11 matris içeren bir hücrem var, her matrisin x, y, z (koordinat) ve değerleri olan 4 sütunu var. Bu değeri, x, y, z konumu ile görselleştirmek istiyorum ve bu değerlere dayanarak kendi colormap'imi tanımlayın ve ardından colorbar'ı görüntüleyin. Jetimi colormap olarak kullanmak istiyorum. Colormap'te en yüksek değeri ve Kırmızı'yı en az değeri olarak tanımlamak için Mavi'yi kullanmak istiyorum. Maksimal ve minimal değerler arasındaki değerler kırmızıdan maviye doğru bir renge sahiptir. Yukarıdaki bu koddaÖzel renk eşlemesinde (Matlab) bir matristen görüntüleme değerleri

figure; 
hold on 
for i=1:length(diameter_lca) 
    L2 = diameter_lca{i}; 
    dl1 = find(L2(:,4) > minimal_lca & L2(:,4)<2);%diameter 0-2 
    dl2 = find(L2(:,4) >= 2 & L2(:,4) <= maksimal_lca);%diameter>2-maksimal 
    x=L2(:,1); 
    y=L2(:,2); 
    z=L2(:,3); 
    plot3(y(dl1),x(dl1),z(dl1),'*','Color','r'); 
    plot3(y(dl2),x(dl2),z(dl2),'*','Color','b'); 
end 
daspect([0.488281 0.488281 0.625000]); 
view(3); axis tight 
camlight 

, ne yapmam değeri ise o zaman bir koşul yapılan her matrisinden 4 sütun üzerinde değerleri görselleştirmek geçerli:

Bu

zaten denedim kodudur 0-2 arasında kırmızıyı verdim ve 4ncü sütunun 2-maximal değeri arasında olduğunda, ben mavi verdim.

Şimdi, her matrisin her bir matrisinden her bir değeri, herhangi bir koşul olmaksızın colormap jetinde görüntülemem gerekiyor.

cevap

1

en kolay scatter3 kullanmak olacaktır:

%# make jet colormap from red to blue 
cmap = flipud(jet(128)); 

%# plot values 
figure, 
scatter3(L(:,1),L(:,2),L(:,3),[],L(:,4),'marker','*') 

colormap(cmap) 
colorbar 
+0

Çalışıyor! Çok teşekkür ederim :). Ama hala bir sorum daha var. Bir satır olarak görüntülemek veya yıldız işareti (*) –

+0

yerine tire kullanmak isterseniz, [cline] indirmek ve kullanmak isteyebilirsiniz (http://www.mathworks.com/matlabcentral/fileexchange/8597) Matlab Dosya Değişiminden. Ayrıca, cevabımı faydalı bulursanız, lütfen bunu ileri sürmeyi ve/veya kabul etmeyi düşünün. – Jonas

+0

Oh üzgünüm, cevabınızı kabul ediyorum ve tekrar ediyorum. Çok teşekkür ederim. Oh, o kini, ben de denedim ama bana verdiğin yöntem (scatter3), daha iyi çalışıyor. Sonuç görüntülerini buraya yükleyemedim, ama yöntemini tercih ediyorum. Çok teşekkür ederim :) –