2015-12-24 1 views
0

J'essaie de dessiner deux graphiques de densité sur le même tracé. J'ai essayé le code suivant.étiquette et ajouter des légendes sur la parcelle de densité

car  Bus 
48.1 17.8 
47.2 21.2 
69.9 27 
72.7 9.1 
73.8 23.9 
67.7 4.9 
61.1 12.3 
61.6 0.4 
     4.7 
     20.9 
     5.5 
     19.8 
     5.9 
     14.3 
     16.3 


library(ggplot2) 
m <-ggplot()+geom_density(aes(data$column1),color='red')+geom_density(aes(data$column2), color='blue') 

Le code donne ce que je veux. Mais je dois étiqueter l'axe des x et aussi besoin d'ajouter des légendes. Comment puis-je atteindre cet objectif?

+0

Que dit la documentation à ce sujet? – Olga

+0

Je ne vois aucune donnée. Veuillez publier au moins certaines de vos données. –

Répondre

4

Vous devriez empiler vos deux variables ensemble et avoir une variable de facteur indiquant quelle colonne il est. Ensuite, vous pouvez ajouter vos étiquettes et choisissez vos couleurs comme ceci:

data <- read.table(text = " 
column1 column2 
48.1 17.8 
47.2 21.2 
69.9 27 
72.7 9.1 
73.8 23.9 
67.7 4.9 
61.1 12.3 
61.6 0.4 
NA  4.7 
NA  20.9 
NA  5.5 
NA  19.8 
NA   5.9 
NA  14.3 
NA  16.3", header = TRUE) 
plot.data <- data.frame(x  = c(data$column1, data$column2), 
         column = paste("column", rep(c(1:2), each = nrow(df)))) 
library(ggplot2) 
m <-ggplot(plot.data, aes(x = x, fill = column)) + geom_density(alpha = 0.5) + 
    xlab("My x label") + ylab("My y label") + 
    scale_fill_manual(name = "My legend title", values = c("red", "blue")) 

enter image description here

+0

Merci beaucoup! – anna

+0

Comment puis-je ajouter des légendes comme voiture et bus au lieu de column1 et column2? – anna

+0

Vous pouvez utiliser 'column = c (rep (" voiture ", nrow (données)), rep (" bus ", nrow (données)))' à l'intérieur de ce qui est là – christoph