2017-03-28 81 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