2015-12-24 3 views
0

Я пытаюсь нарисовать две графики плотности на одном и том же участке. Я попробовал следующий код.ярлык и добавить легенды на график плотности

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') 

Код дает то, что я хочу. Но мне нужно обозначить ось х, а также добавить легенды. Как я могу это достичь?

+0

Что документация говорит по этому поводу? – Olga

+0

Я не вижу никаких данных. Пожалуйста, разместите хотя бы некоторые ваши данные. –

ответ

4

Вы должны складывать две переменные вместе и иметь переменную фактора, указывающую, в каком столбце она находится. Затем вы можете добавить ярлыки и выбрать цвет, как это:

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

Спасибо вам большое! – anna

+0

Как добавить легенды в качестве автомобиля и автобуса вместо столбца 1 и столбца2? – anna

+0

Вы можете использовать 'column = c (rep (" car ", nrow (data)), rep (" bus ", nrow (data)))' inside вместо того, что есть – christoph