2012-07-11 18 views
7

ben de onay işaretlerini göstermek için bilmek istediğim R. içinde ggplot2 kullanarak kere serisi oluşturma için dikey çizgiler tutmaya R'ın ggplot2 anlatmak sadece etiketlenmiş ay x ekseni (örn Mar 07, 8 Mart, vs) her ay için dikey gri çizgiler tutarken. her ay için bir onay işareti olan zor etiketlere karşılık hangisini bilmek yapar çünkünasıl x ekseni bazı değerler için onay işaretlerini koymak ve yine de diğer değerler

ana nedenidir. İşte geride R çizgidir

See how ticks on the x-axis make it hard to know where is each month

: Burada

bir arsa örneğidir

ggplot(timeseries_plot_data_mean,aes(as.numeric(project_date)))+ 
    geom_line(aes(y=num_views))+geom_point(aes(y=num_views))+ 
    stat_smooth(aes(y=num_views),method="lm")+ 
    scale_x_continuous(breaks = xscale$breaks, labels = xscale$labels)+ 
    opts(title="Monthly average num views")+xlab("months")+ylab("num views") 

Bu üretmek istiyoruz şeydir. Teyplerin ay etiketinin hemen üzerinde nasıl konumlandığını görün ve her ay dikey çizgiler hala var.

This is what would like to generate (Inkscape, image editor,strangely replaced the dots for q's

el Inkspace yukarıda arsa (q en, Inkscape garip q, en için nokta yerine görmezden)

cevap

8

Burada scale_x_date() arasında minor_breaks parametresini kullanarak bir çözüm düzenlenebilir. Bu kullanabilmek için, x-değerleri sınıfının Date yerine numeric olmalıdır.

library(ggplot2) 
set.seed(123) 

x <- seq(as.Date("2007/3/1"), as.Date("2012/4/1"), by = "1 month") 
y <- ((exp(-10 * seq(from=0, to=1, length.out=length(x))) * 120) + 
     runif(length(x), min=-10, max=10)) 

dat <- data.frame(Months=x, Views=y) 

x_breaks <- seq(as.Date("2007/3/1"), as.Date("2012/4/1"), by="1 year") 
x_labels <- as.character(x_breaks, format="%h-%y") 

plot_1 <- ggplot(dat, aes(x=Months, y=Views)) + 
      theme_bw() + 
      geom_line() + 
      geom_point() + 
      scale_x_date(breaks=x_breaks, labels=x_labels, minor_breaks=dat$Months) 

png("plot_1.png", width=600, height=240) 
print(plot_1) 
dev.off() 

plot_1.png

İlgili konular