2017-03-28 73 views
1

我想更改color和我的ggplot中的线型。我正在使用此代码:无法更改线型ggplot2

a <- runif(84, 20, 80) 
a<-ts(a,start = 2009,frequency = 12) 
#a<-ts(result$`dataset1$Summe`,start = 2009,frequency = 12) 
a3 <- zoo(a, order.by = as.Date(yearmon(index(a)))) 
p1 <- autoplot(a3) 
p1 + scale_x_date(labels = date_format("%m/%Y"),breaks = date_breaks("2 months"), limits = as.Date(c('2009-01-01','2017-08-01')))+ theme(axis.text.x = element_text(angle = 90))+ theme(axis.text.x = element_text(angle = 90))+ 
    labs(x = "Date",y="Test") + theme(panel.background = element_rect(fill = 'white', colour = 'black'))+geom_line(linetype="dotted", color="red") 

但只有颜色发生变化。我应该怎样改变线型?

+0

有你尝试使用整数来改变线型? –

+0

是的,但没有成功 – Kaja

+0

我可以使用整数或单词来更改线型。你可以让你的例子可重现吗? –

回答

2

autoplot()将为其传递的对象选择合理的默认值。如果你想定制它的外观,最好使用标准的ggplot()功能。
为了能够做到这一点的zoo对象应传递槽fortify()

ggplot(fortify(a3, melt = TRUE)) + 
    geom_line(aes(x = Index, y = Value), linetype='dashed', color="red") + 
    scale_x_date(labels = date_format("%m/%Y"), 
       breaks = date_breaks("2 months"), 
       limits = as.Date(c('2009-01-01','2017-08-01')))+ 
    theme(axis.text.x = element_text(angle = 90), 
      axis.text.x = element_text(angle = 90), 
      panel.background = element_rect(fill = 'white', colour = 'black'))+ 
    labs(x = "Date",y="Test") 

enter image description here

(注:顶部的虚线是由panel.background主题选项造成的)

+0

你也许可以考虑清理'theme'行 - 不需要在3行中有东西... –

+0

你是对的,我通常这样做,我这次直接从OP代码中直接复制 – GGamba