Matlab définir couleur à partir d'une donnée
Résolu
j-mi57
Messages postés
81
Statut
Membre
-
Dorian -
Dorian -
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.
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:
- Matlab définir couleur à partir d'une donnée
- Creer un groupe whatsapp a partir d'un autre groupe - Guide
- Boite a couleur - Télécharger - Divers Photo & Graphisme
- Comment faire une recherche à partir d'une photo - Guide
- Définir google comme page d'accueil - Guide
- Excel cellule couleur si condition texte - Guide
2 réponses
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).
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).