2013-02-12 3 views
0

Supposons que j'ai une matrice avec des entiers. Je souhaite mapper une valeur à colorier. Par exemple, la valeur 0 s'affichera en noir, la valeur 0.5 sera verte, etc. J'ai essayé colormap mais cela ne fonctionne pas comme je le souhaite. Dans colormap, lorsque je change une valeur dans la matrice, elle affecte également d'autres valeurs.comment définir une couleur à une valeur dans matlab?

Alors, comment puis-je mapper une couleur à une valeur? une cellule contient 0 présenté en noir. une cellule contient 0,5 présenté en vert. une cellule contient un nombre égal ou supérieur à 1 présenté en jaune.

Merci!

+1

Ce n'est pas clair. S'il vous plaît poster un code qui montre ce que vous essayez. –

+0

Quelles sont les dimensions de la matrice? Dessinez-vous une courbe, une image, une surface? – Dan

+0

Peut-être que vous pourriez poster une image de ce que votre intrigue devrait ressembler. –

Répondre

0

La meilleure façon je penser à faire quelque chose comme ce que vous dites est:

  • Define a colormap que:

    cm = colormap ([0 0 0; 0 1 0; 1 dix]);

  • Définir un caxis que:

    CAXIS ([0 1]);

  • Utilisez quelque chose comme pcolor pour représenter vos données.

Tout ceci suppose que vous voulez représenter une sorte de carte de couleurs en 2D. Si vous avez l'intention de tracer une courbe simple, mais en changeant la couleur des points de données, vous devez le faire manuellement, les tracer individuellement et définir la couleur manuellement pour chaque point, en fonction de la valeur des données:

% plot y versus x variable 
for ii = 1:length(x) 
    if y(ii) < 0.5 
     color = [0 0 0]; 
    elseif y(ii) < 1 
     color = [0 1 0]; 
    else 
     color = [1 1 0]; 
    end 
    plot(x(ii), y(ii), '.', 'Color', color); 
    hold on; 
end 
hold off; 
Questions connexes