2012-09-11 5 views
4

salut J'ai une question sur geom_line. Ce que je veux faire est, pour la même ligne, avoir différents segments de couleur selon un filtre s'appliquent à une autre variable, c'est-à-dire pas la variable utilisée pour tracer la ligne.geom_line - couleur différente dans la même ligne

par exemple, si en appliquant un filtre supérieur à 10 nous avons un dataframe avec le temps d'en-tête, var1 et var2

time <- seq (1,7,1) 
var1 <- c(3,5,7,2,3,2,8) 
var2 <- c(2,4,18,16,12,3,2) 

si j'ai le temps de complot contre var1 en utilisant geom_line et permet de dire que je veux la couleur de la ligne sur variable var2. donc la ligne aura la même couleur pour le temps 1,2,6,7 et une autre couleur pour 3,4,5.

s'il vous plaît dites-moi si c'est possible? Si c'est le cas, donnez-moi quelques indications.

Répondre

4

Est-ce ce que vous cherchez?

time <- seq (1,7,1) 
var1 <- c(3,5,7,2,3,2,8) 
var2 <- c(2,4,18,16,12,3,2) 
DF <- data.frame(time, var1, var2) 

ggplot(DF, aes(time, var1, colour=(var2>10))) + 
    geom_line(aes(group=1)) 

enter image description here

+0

oui merci beaucoup. Je ne savais pas que vous pouvez utiliser une couleur intérieure var. graham – user18407

+0

@ user18407 L'idée de cartographier l'esthétique de l'intrigue (ce que les choses ressemblent: position, couleur, forme, etc.) aux valeurs de données est l'une des idées fondamentales de 'ggplot2' (et la grammaire des graphiques sur laquelle elle est basé); c'est un outil puissant pour présenter des données graphiquement. –

Questions connexes