Matlab définir couleur à partir d'une donnée

Résolu/Fermé
j-mi57 Messages postés 81 Date d'inscription dimanche 27 mai 2007 Statut Membre Dernière intervention 18 juillet 2011 - 30 sept. 2009 à 21:29
 Dorian - 8 déc. 2010 à 14:45
Bonjour,

J'ai créer un programme matlab qui permet de tracer sur un carte des points d'intérêt. Ces points sont tracés à partir de leur latitude et longitude contenues dans deux vecteurs
POSLATT=[lat1 lat2 ... latk ... latn]
et
POSLONG=[lon1 lon2 ... lonk ... lonn]
de la manière suivante:
> plot(POSLONG,POSLATT,'.')

Je dispose d'un troisième vecteur I qui a la même longueur que POSLATT et POSLONG et qui contient une sorte d'intensité associée a chaque point d'intérêt:
I=[I1 I2 ... Ik ... In]

J'aimerais trouver/réaliser une fonction qui permette de convertir les valeurs de I en une couleur.

exple num2color(Ik)=r (r étant le rouge ou une façon de retrouver une couleur)

afin de pouvoir visualiser l'intensité de mes points en restant en 2d, (c'est une carte) de la manière suivante:

for k=1:n
plot(POSLONG(k),POSLATT(k),'.num2color(I(k))');
end

J'ai pensé à la fonction pcolor, mais elle remplie des surfaces et est plus utile pour des surfaces juxtaposées.
(En clair pcolor fait des gros pâtés et remplie toute la carte et je voudrais des points)
Je voudrais également conserver un format 2D.

Je continu à chercher de mon côté, en espérant avoir été clair.
En bref c'est un colormap pour des points d'un graph qu'il faut faire.

Toute idée, fonction déjà existante, ou documentation sur le sujet est la bienvenue.
Merci d'avance pour votre aide.
A voir également:

2 réponses

j-mi57 Messages postés 81 Date d'inscription dimanche 27 mai 2007 Statut Membre Dernière intervention 18 juillet 2011 13
30 sept. 2009 à 23:15
Re,
Pour ceux que ça intéresse.

J'ai trouvé l'astuce, pour définir une couleur avec des chiffres on peut procéder comme suit:

plot(x,y,'Color',[a b c]) <- attention à la majuscule

ou a b c sont des chiffres entre 0 et 1 qui correspondent à la proportion de rouge vert bleu (RGB);

exple(x,y,'Color',[0.5 0.5 0.5]) trâce en gris.

il ne reste plus qu'a créer une fonction qui transforme mon intensité en trois chiffres compris entre 0 et 1, et créer une colorbar.

voila je poste pour ceux que ça intéressent, en espérant ne pas polluer le forum. Mais je n'avais pas trouver la réponse sur la toile ni dans l'aide de matlab (même si elle doit si trouver).
16
Génial merci pour mapart je cher a comprendre le chemin de a à z que fait l'électricité a l'intérieure de mon pc avant de m'affiher une couleur quoi ya que 20 milliard d'anné dévolution pour¸ça ;
-5
Arrête les corn flakes.
0