首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >“`ggplot2` 2”图例未显示添加系列的标签

“`ggplot2` 2”图例未显示添加系列的标签
EN

Stack Overflow用户
提问于 2014-03-20 11:57:29
回答 1查看 2.8K关注 0票数 0

在以下两个系列的ggplot2 (美国国内生产总值及其移动平均值)中,图例没有显示移动平均序列:

代码语言:javascript
复制
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("")

问题:如何将移动平均线系列标签添加到图例中(文本中说“4季度移动avg"?)

的额外问题:如何从图例中删除ShortName文本?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-03-20 12:30:28

也许把某些东西指定为美学

代码语言:javascript
复制
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)

和and主题

代码语言:javascript
复制
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)

您可以更改图例项的顺序。

代码语言:javascript
复制
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))

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22532236

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档