Attribution de couleurs aux courbes d'un graphe

Postez ici vos questions, réponses, commentaires ou suggestions - Les sujets seront ultérieurement répartis dans les archives par les modérateurs

Modérateur : Groupe des modérateurs

Issaka Abakar Koumato
Messages : 15
Enregistré le : 24 Sep 2018, 22:00

Attribution de couleurs aux courbes d'un graphe

Messagepar Issaka Abakar Koumato » 06 Déc 2018, 11:09

Bonjour s'il vous plaît je travails sur un projet de fin d'année et je viens de rencontrer un problème. J'ai 23 variables à savoir V1,V2,V3,v4,v5 jusqu'à V23 que je veux représenter sur un graphique avec 23 courbes et qui auront 23 couleurs différentes en même temps faire les légendes de chaque courbes. Sur les axes des abscisses on mettra les années qui vont commencer de 1980,1981,1982 jusqu'à 2017 et sur les ordonnées on mettra 1,2,3,4 jusqu'à 456. Comment faire ? Moi je connais faire avec deux variables et sans légende voici le code :Z=Y[,3:23]
ind=1:456
for(iY in 1:23)
{
data1<-data.frame(X=c(1980,1982,1982),Y=c(312,316,356))
data<-data.frame(X=c(1980,1982,2017),Y=c(312,316,356))
plot(data1$X,data2$Y,xlim=c(1980,2010),ylim=c(312,356),type="l",col="red",xlab="Annees",ylab="temp",main="Mes courbes")
lines(data2$X,data2$Y,col="blue",type="l")
par(new=TRUE)
}

jean lobry
Messages : 733
Enregistré le : 17 Jan 2008, 20:00
Contact :

Re: Attribution de couleurs aux courbes d'un graphe

Messagepar jean lobry » 06 Déc 2018, 12:03

Bonjour,

le problème c'est que 23 couleurs c'est beaucoup trop pour avoir quelque chose de lisible :

Code : Tout sélectionner

nc <- 23 ; maxy <- 456
mescouleurs <- rainbow(nc)
x <- 1980:2017
y <- sample(1:maxy, length(x))
plot(x, y, type = "l", xlab = "Annees", ylab = "temp", main = "Mes courbes",
     col = mescouleurs[1], las = 1, ylim = c(0, maxy))
for(i in 2:nc){
  y <- sample(1:maxy, length(x))
  lines(x, y, col = mescouleurs[i])
}
legend("topright", inset = 0.01, lwd = 1, legend = paste("V", 1:nc, sep = ""),
       col = mescouleurs, cex = 0.5)


Amicalement,

jean

Issaka Abakar Koumato
Messages : 15
Enregistré le : 24 Sep 2018, 22:00

Re: Attribution de couleurs aux courbes d'un graphe

Messagepar Issaka Abakar Koumato » 07 Déc 2018, 13:20

Je n'arrive pas à distinguer les couleurs physiquement donc je veux faire comment à propos des légendes à côté du graphique avec les petits points qui doivent les représenter?

jean lobry
Messages : 733
Enregistré le : 17 Jan 2008, 20:00
Contact :

Re: Attribution de couleurs aux courbes d'un graphe

Messagepar jean lobry » 07 Déc 2018, 17:18

C'est bien le problème, jusqu'à 4 couleurs, environ, on arrive à discriminer les courbes :

Code : Tout sélectionner

nc <- 4 ; maxy <- 456
mescouleurs <- rainbow(nc)
x <- 1980:2017
y <- sample(1:maxy, length(x))
plot(x, y, type = "l", xlab = "Annees", ylab = "temp", main = "Mes courbes",
     col = mescouleurs[1], las = 1, ylim = c(0, maxy))
for(i in 2:nc){
  y <- sample(1:maxy, length(x))
  lines(x, y, col = mescouleurs[i])
}
legend("topright", inset = 0.01, lwd = 1, legend = paste("V", 1:nc, sep = ""),
       col = mescouleurs, cex = 0.5)


Mais au delà, ça devient illisible, c'est ce que j'avais illustré dans mon exemple précédent avec 23 couleurs.

jean

Issaka Abakar Koumato
Messages : 15
Enregistré le : 24 Sep 2018, 22:00

Re: Attribution de couleurs aux courbes d'un graphe

Messagepar Issaka Abakar Koumato » 10 Déc 2018, 12:55

Grand merci j'ai ajusté avec ce que vous m'avez dit et ce bon.


Retourner vers « Questions en cours »

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 1 invité