2016-07-13 4 views
2

У меня есть сюжет, как enter image description hereSet легенда, согласно цвету линии, используя ggplot

Использование ggplot, как я могу установить легенду с двумя метками только, то есть красные линии с именем говорят «интервалы предсказания» и синяя линия с именем «подходит линии»

Я использовал следующие R линий для этого

dfs <- data.frame("x"=1:50,"fit" = rnorm(50,30,4),"upper"=rnorm(50,30,4)+15, "lower"=rnorm(50,30,4)-15) 
df_melt <- reshape2::melt(dfs,id="x") 
g <- ggplot(df_melt,aes(x=x,y=value,colour=variable)) + geom_line(linetype=5) 
g <- g + scale_colour_manual(values=c("blue","red","red")) 
g <- g + theme_grey(base_size = 16) + theme(axis.text=element_text(colour = "black",size = 12)) 
g 

ответ

4

Вы можете просто добавить новый столбец с 2 значениями («интервалами прогнозирования» или «подходит линии»)

enter image description here

# Add a new group column 
df_melt$group[df_melt$variable == "fit"] <- "fit line" 
df_melt$group[df_melt$variable != "fit"] <- "prediction intervals" 

# don't forget `group = variable` 
g <- ggplot(df_melt, aes(x = x, y = value, colour = group, group = variable)) + 
geom_line(linetype=5) 
g <- g + scale_colour_manual(values = c("blue" ,"red", "red")) 
g <- g + theme_grey(base_size = 16) + 
theme(axis.text = element_text(colour = "black", size = 12)) 
g 
Смежные вопросы