R `ggplot2`图例未显示添加系列的标签

R `ggplot2`图例未显示添加系列的标签,r,ggplot2,R,Ggplot2,在以下带有两个系列(美国GDP及其移动平均线)的ggplot2中,图例不显示移动平均线系列: require(xts);require(data.table);require(ggplot2);require(ggthemes) # US GDP quarterly data data <- structure(list(ShortName = c("US GDP QoQ (Annualised)", "US GDP QoQ (Annualised)","US GDP QoQ (Annu

在以下带有两个系列(美国GDP及其移动平均线)的
ggplot2
中,图例不显示移动平均线系列:

require(xts);require(data.table);require(ggplot2);require(ggthemes)

# US GDP quarterly data
data <- structure(list(ShortName = c("US GDP QoQ (Annualised)", "US GDP QoQ (Annualised)","US GDP QoQ (Annualised)", "US GDP QoQ (Annualised)", "US GDP QoQ (Annualised)",  "US GDP QoQ (Annualised)", "US GDP QoQ (Annualised)", "US GDP QoQ (Annualised)", "US GDP QoQ (Annualised)", "US GDP QoQ (Annualised)", "US GDP QoQ (Annualised)",  "US GDP QoQ (Annualised)", "US GDP QoQ (Annualised)", "US GDP QoQ (Annualised)","US GDP QoQ (Annualised)", "US GDP QoQ (Annualised)", "US GDP QoQ (Annualised)", "US GDP QoQ (Annualised)", "US GDP QoQ (Annualised)", "US GDP QoQ (Annualised)", "US GDP QoQ (Annualised)", "US GDP QoQ (Annualised)", "US GDP QoQ (Annualised)", "US GDP QoQ (Annualised)", "US GDP QoQ (Annualised)", "US GDP QoQ (Annualised)", "US GDP QoQ (Annualised)", "US GDP QoQ (Annualised)", "US GDP QoQ (Annualised)", "US GDP QoQ (Annualised)", "US GDP QoQ (Annualised)", "US GDP QoQ (Annualised)", "US GDP QoQ (Annualised)", "US GDP QoQ (Annualised)", "US GDP QoQ (Annualised)", "US GDP QoQ (Annualised)", "US GDP QoQ (Annualised)", "US GDP QoQ (Annualised)",  "US GDP QoQ (Annualised)", "US GDP QoQ (Annualised)", "US GDP QoQ (Annualised)", "US GDP QoQ (Annualised)", "US GDP QoQ (Annualised)", "US GDP QoQ (Annualised)", "US GDP QoQ (Annualised)", "US GDP QoQ (Annualised)", "US GDP QoQ (Annualised)", "US GDP QoQ (Annualised)", "US GDP QoQ (Annualised)", "US GDP QoQ (Annualised)","US GDP QoQ (Annualised)", "US GDP QoQ (Annualised)", "US GDP QoQ (Annualised)", "US GDP QoQ (Annualised)", "US GDP QoQ (Annualised)", "US GDP QoQ (Annualised)", "US GDP QoQ (Annualised)", "US GDP QoQ (Annualised)", "US GDP QoQ (Annualised)", "US GDP QoQ (Annualised)"), Date = structure(c(10681L, 10772L,10864L, 10956L, 11047L, 11138L, 11230L, 11322L, 11412L, 11503L,11595L, 11687L, 11777L, 11868L, 11960L, 12052L, 12142L, 12233L,12325L, 12417L, 12508L, 12599L, 12691L, 12783L, 12873L, 12964L,13056L, 13148L, 13238L, 13329L, 13421L, 13513L, 13603L, 13694L,13786L, 13878L, 13969L, 14060L, 14152L, 14244L, 14334L, 14425L,14517L, 14609L, 14699L, 14790L, 14882L, 14974L, 15064L, 15155L,15247L, 15339L, 15430L, 15521L, 15613L, 15705L, 15795L, 15886L,15978L, 16070L), class = c("IDate", "Date")), Value = c(3.8,3.4, 5.2, 7.1, 1.2, 7.8, 0.5, 2.1, -1.1, 2.1, -1.2, 1, 3.8, 2.2,1.9, 0.2, 2, 3.8, 6.9, 4.6, 2.4, 3.1, 3.6, 3.4, 4.5, 2.2, 3.3,2.2, 4.9, 1.3, 0.3, 3.2, 0.3, 3.1, 2.7, 1.5, -2.7, 2, -2, -8.3,-5.4, -0.4, 1.3, 3.9, 1.6, 3.9, 2.8, 2.8, -1.3, 3.2, 1.4, 4.9,3.7, 1.2, 2.8, 0.1, 1.1, 2.5, 4.1, 2.4)), .Names = c("ShortName","Date", "Value"), class = c("data.table", "data.frame"), row.names = c(NA,-60L))

ggplot(data, aes_string(x="Date", y="Value", colour="ShortName")) + 
  geom_line(size=1.2) +

  # add 4 quarter moving average series
  geom_line(aes(x=Date, 
                y=rollmean(Value, k=4, fill=NA, align="right"))
            , colour="red") +

  # the economist theme from package::ggthemes
  theme_economist_white(gray_bg=FALSE) + 
  scale_colour_economist() +
  xlab("") + ylab("")
require(xts);要求(数据表);要求(GG2);需要(主题)
#美国GDP季度数据

数据可能对美学有所说明

ggplot(data) + 
  geom_line(aes_string(x="Date", y="Value", colour="ShortName"), size=1.2) +
  # add 4 quarter moving average series
  geom_line(aes(x=Date, 
                y=rollmean(Value, k=4, fill=NA, align="right"),
                linetype =  'Moving average'),
            colour="red") +
  scale_colour_manual('', values = "blue") +
  scale_linetype_manual('', values = 1)
而且有很多主题

ggplot(data) + 
  geom_line(aes_string(x="Date", y="Value", colour="ShortName"), size=1.2) +
  # add 4 quarter moving average series
  geom_line(aes(x=Date, 
                y=rollmean(Value, k=4, fill=NA, align="right"),
                linetype =  'Moving average'),
            colour="red") +
  scale_colour_economist(name='') +
  #scale_colour_manual('', values = "blue") +
  scale_linetype_manual('', values = 1) +
  theme_economist_white(gray_bg=FALSE)

您可以使用更改图例项的顺序

plot <- ggplot(data) + 
  geom_line(aes_string(x="Date", y="Value", colour="ShortName"), size=1.2) +
  # add 4 quarter moving average series
  geom_line(aes(x=Date, 
                y=rollmean(Value, k=4, fill=NA, align="right"),
                linetype =  'Moving average'),
            colour="red") +
  scale_colour_economist(name='') +
  #scale_colour_manual('', values = "blue") +
  scale_linetype_manual('', values = 1) +
  theme_economist_white(gray_bg=FALSE)

plot + guides(colour = guide_legend(order = 1), 
              linetype = guide_legend(order = 2))

plot您应该将其映射到geom_line美学您有两个[ShortNames]条目,但我认为这是一个输入错误(额外空格)。经过编辑,但没有材料可以使其与经济学人主题兼容(必须有)?谢谢你的指点,我会做一些more@DanielKrizian让我告诉你,
rollmean
对我来说是全新的。谢谢太好了,我们都学到了!我知道您添加了第二个系列(移动平均线)作为线型,具有自己的线型图例,而第一个系列具有颜色图例(仅在经济学人主题中可用)。因此,这两个系列有两个单独的图例,使代码有点复杂