2012-05-10 22 views
5

X ekseninde tarih/saat (POSIXct) ve Y ekseni üzerindeki bazı verilerde R'de bir çizimim var.
x eksenindeki her tarihin 3pm - 6PM arasındaki x aralığında gölge sağlamak istiyorumX ekseni üzerindeki tarihler arasındaki tonları sağlayın

+0

, '? rect' (ve muhtemelen' par ("usr") 'için Bir grup gölgeli dikdörtgeni ayarlamak için, arsadaki min/max y değerini, kullanıcı birimlerinde veya "grconvertX/grconvertY") elde edin, ardından verilerinizi bunların üzerine yeniden çizin. Tekrarlanabilir bir örnek iyi olurdu. –

cevap

15

Az ya Brian Diggs suggests above,

#sample data 
set.seed(666) 
dat <- data.frame(x = seq(as.POSIXct('2011-03-27 00:00:00'), 
len= (n=24), by="1 hour"), y = cumsum(rnorm(n))) 
#Breaks for background rectangles 
rects <- data.frame(xstart = as.POSIXct('2011-03-27 15:00:00'), 
xend = as.POSIXct('2011-03-27 18:00:00')) 

library(ggplot2) 
ggplot() + 
    geom_rect(data = rects, aes(xmin = xstart, xmax = xend, 
      ymin = -Inf, ymax = Inf), alpha = 0.4) + 
    geom_line(data = dat, aes(x,y)) 

bunu vermeye misiniz şeyin ardından, m

7

Verileri kapsayan her gün için 3 ve 6 pm olan sütunlarla bir data.frame oluşturun. Bunu geom_rect katmanı için kullanın (Inf ve y'ler için -Inf kullanarak). Bu katmanı veri katmanlarınızdan önce koyun (böylece bunların altında) ve dolguyu bir alfa verin, böylece ızgara görülebilir. Daha detaylı, tekrarlanabilir bir soruyla daha ayrıntılı yanıt mümkün olabilir.

Muhtemelen kullanarak baz grafikleri

İlgili konular