Meskipun saya menemukan postingan Hadley di grup google di POSIXct
dan geom_vline
, saya tidak dapat menyelesaikannya. Saya memiliki deret waktu dari dan ingin menggambar garis vertikal untuk tahun 1998, 2005, dan 2010 misalnya. Saya mencoba dengan sintaks ggplot
dan qplot
, tetapi saya tetap tidak melihat garis vertikal sama sekali atau garis vertikal digambar pada kisi vertikal pertama dan seluruh rangkaian bergeser agak aneh ke kanan.
gg <- ggplot(data=mydata,aes(y=somevalues,x=datefield,color=category)) +
layer(geom="line")
gg + geom_vline(xintercept=mydata$datefield[120],linetype=4)
# returns just the time series plot I had before,
# interestingly the legend contains dotted vertical lines
Bidang tanggal saya memiliki format "1993-07-01" dan berkelas Date
.
r
date
ggplot2
time-series
Matt Bannert
sumber
sumber
Jawaban:
Coba
as.numeric(mydata$datefield[120])
:Contoh tes sederhana:
sumber
geom_vline(aes(xintercept=as.numeric(x[c(13, 24)])), linetype=4, colour="black")
akan lebih idiomatis, yaitu menggunakanaes
daripadatmp$
.rlang::last_error()
untuk melihat di mana kesalahan itu terjadi. ''Anda juga dapat melakukannya
geom_vline(xintercept = as.numeric(as.Date("2015-01-01")), linetype=4)
jika Anda ingin garis tetap di tempatnya apakah tanggal Anda ada di baris ke-120 atau tidak.sumber
as.POSIXct(as.Date(c("2016-12-01","2017-02-01")))
as. numerik bekerja untuk saya
keluaran kode
sumber