2012-12-21 21 views
6

Chcę wizualizować macierz na podstawie wartości, które zawiera. Mam jedną komórkę, która zawiera 11 macierzy, każda macierz ma 4 kolumny, które są x, y, z (współrzędna) i jej wartości. Chcę wizualizować tę wartość, z lokalizacją x, y, z i zdefiniować własną mapę kolorów na podstawie tych wartości, a następnie wyświetlić pasek kolorów. Chcę użyć jet jako mapy kolorów. Chcę użyć koloru niebieskiego do określenia maksymalnej wartości, a czerwonej jako minimalnej wartości mapy kolorów. Wartości między wartościami maksymalnymi i minimalnymi mają kolor od czerwonego do niebieskiego.Wyświetlanie wartości z macierzy w niestandardowej mapie kolorów (Matlab)

Jest to kod, który ja już próbowałem:

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 

w tych powyższym kodzie, co mogę zrobić, to wizualizację wartości na 4 kolumny z każdej matrycy potem postawił warunek, który jest, jeśli wartość jest pomiędzy 0-2, dałem czerwony, a gdy jest między 2-maksymalną wartością czwartej kolumny, dałem niebieski.

Teraz, potrzebuję wyświetlić każdą wartość z 4. kolumny z każdej matrycy w colormapie odrzutowym bez żadnego warunku podobnego.

Odpowiedz

1

Najłatwiej byłoby użyć scatter3:

%# 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

To działa! Dziękuję bardzo :). Ale wciąż mam jeszcze jedno pytanie. Co jeśli chcę wyświetlać jako linię lub używać myślnika zamiast gwiazdki (*) –

+0

W takim przypadku możesz pobrać i użyć [cline] (http://www.mathworks.com/matlabcentral/fileexchange/8597) z programu wymiany plików Matlab. Ponadto, jeśli moja odpowiedź jest dla mnie pomocna, rozważ wstawienie i/lub zaakceptowanie jej. – Jonas

+0

Och, przepraszam, akceptuję twoją odpowiedź i przegrywam. Dziękuję bardzo. Och, to klino, też tego próbowałem, ale metoda, którą mi dałeś (scatter3) działa lepiej niż klino. Nie mogłem przesłać tutaj zdjęć wyników, ale wolę twoją metodę. Dziękuję bardzo :) –