线图图例不出现

时间:2019-11-12 10:44:54

标签: r ggplot2 plot line legend

我正在尝试使用ggplot在r中绘制线图。不幸的是,图例没有显示。谁能帮我吗?

我的代码如下:

dfdatavgsM=data.frame(datum, avgsätzegespMT, avgsätzegespML)
 ggplot(data = dfdatavgsM, aes(x=datum, color=Wettbewerbsart))
+ geom_line(data=dfdatavgsM, aes(y = avgsätzegespML),color="red")
+ geom_line(data=dfdatavgsM, aes(y = avgsätzegespMT), color="blue")
+ geom_vline(xintercept=2011, size = 0.6)
+ scale_y_continuous(name="Anzahl an Sätzen")
+ scale_x_datetime(name = "Saison" ,date_breaks = ("2 year"),date_labels = "%Y") 
+ ggtitle("Wettbewerbsintensität in Spielen mit |∆TTR| ≤ 118") + theme(panel.background = element_rect(fill = "white", colour = "black")) 
+ theme(panel.grid.major = element_line(size = 0.25, linetype = 'solid', colour = "light grey")) + theme(axis.ticks = element_line(size = 1))

1 个答案:

答案 0 :(得分:0)

仅当您在color语句中使用aes时,图例才会出现。您将需要将数据重整为“长”格式(例如,使用tidyr::gather),并具有一个geom_line术语和一个aes,包括color=type。像这样的东西(未经测试,因为我没有您的数据)...

library(tidyverse)

dfdatavgsM=data.frame(datum, avgsätzegespMT, avgsätzegespML)

dfdatavgsMlong <- dfdatavgsM %>% gather(key = type, value = value, -datum)

ggplot(data = dfdatavgsMlong, aes(x=datum, y=value, color=type)) + 
   geom_line()