R: легенда не отображается при использовании ggplot

#r #ggplot2 #legend

#r #ggplot2 #легенда

Вопрос:

Я хотел бы включить легенду для сюжета. Однако ничего не обнаруживается. Я рассматривал другие подобные вопросы, но, похоже, ни один из них не решает мое дело.

Вот этот раздел кода.

 ggplot(lm_model, aes(x=year, y=pred_price))  
  geom_point(color="red")  
  geom_line(color="red")  
  geom_line(aes(x=year, y=real_price))  
  labs(title="Linear Regression",
       x="Year",
       y="Gas Price")  
  scale_color_manual(labels = c("Predicted", "True Value"))
 

Вот как выглядит вывод с помощью этого кода (и без легенды, как вы можете видеть):

введите описание изображения здесь

Ответ №1:

Это может работать, но не тестируется, поскольку данные не были переданы. Вам нужно переместить цветовые инструкции внутрь aes() :

 library(ggplot2)
#Data
lm_model <- data.frame(year=2010:2020,
                       pred_price=runif(11,0,75),
                       real_price=runif(11,0,75))
#Code
ggplot(lm_model, aes(x=year, y=pred_price))  
  geom_point(aes(color="red"))  
  geom_line(aes(color="red"))  
  geom_line(aes(x=year, y=real_price,color='black'))  
  labs(title="Linear Regression",
       x="Year",
       y="Gas Price")  
  scale_color_manual(labels = c("Predicted", "True Value"),
                     values=c('black','red')) 
  labs(color='Price')
 

Выходной сигнал:

введите описание изображения здесь

Комментарии:

1. Блестяще! Однако название легенды — «цвет». Как я могу изменить это на ничто? т.е. нет названия легенды.

2. @Joehat Я обновил код тем, что вы пожелаете, а также добавил некоторые фиктивные данные. Дайте мне знать, если это сработает!