SORU
2 Ocak 2013, ÇARŞAMBA


Ve R Şekil pencerede birleştirmek temel ggplot grafik

Taban ve ggplot grafik bir arada olan bir şekil oluşturmak istiyorum. Aşağıdaki kodu rakam benim Bankası'ndaki R fonksiyonları komplo kullanarak gösterir:

t <- c(1:(24*14)) 
P <- 24 
A <- 10 
y <- A*sin(2*pi*t/P) 20

par(mfrow=c(2,2))
plot(y,type = "l",xlab = "Time (hours)",ylab = "Amplitude",main = "Time series")
acf(y,main = "Autocorrelation",xlab = "Lag (hours)", ylab = "ACF")
spectrum(y,method = "ar",main = "Spectral density function", 
         xlab = "Frequency (cycles per hour)",ylab = "Spectrum")
require(biwavelet)
t1 <- cbind(t, y)
wt.t1=wt(t1)
plot(wt.t1, plot.cb=FALSE, plot.phase=FALSE,main = "Continuous wavelet transform",
     ylab = "Period (hours)",xlab = "Time (hours)")

Hangi üretir enter image description here

Bu paneller en raporumu dahil etmek için yeterli görünüyor. Ancak, arsa özilinti gösteren geliştirilmelidir. Bu çok daha iyi ggplot kullanarak görünüyor:

require(ggplot2)
acz <- acf(y, plot=F)
acd <- data.frame(lag=acz$lag, acf=acz$acf)
ggplot(acd, aes(lag, acf))   geom_area(fill="grey")  
  geom_hline(yintercept=c(0.05, -0.05), linetype="dashed")  
  theme_bw()

enter image description here

Ancak, ggplot tabanı grafik olarak görme, düzeni veya par(mfrow) ile ggplot birleştirebiliriz olamaz. Nasıl bir ggplot tarafından oluşturulan özilinti arsa temel grafik elde yerini alabilir miyim? Kılavuz kullanabilirim biliyorum.eğer benim rakamlar ama nasıl araziler biri ggplot oluşturulur eğer sadece bu yapıyorum ggplot ile yapılmış olsaydı düzenlemek?

CEVAP
2 Ocak 2013, ÇARŞAMBA


GridBase paketi kullanarak, sadece 2 satır ekleyerek yapabilirsin. Eğer sadece anlamak ve master için ihtiyacınız olan kılavuz ile komik çizim yapmak istiyorsanız bencegörüş. Gerçekten ızgara paketi temel nesnedir.

vps <- baseViewports()
pushViewport(vps$figure) ##   I am in the space of the autocorrelation plot

() BaseViewports işlevi, üç ızgara görüş bir listesini. Ben burada şekil görünüm penceresi Bir görünüm penceresi şekil bölgesiyle ilgilimevcutarsa.

Nasıl bir nihai çözüm görünüyor burada

enter image description here

library(gridBase)
par(mfrow=c(2, 2))
plot(y,type = "l",xlab = "Time (hours)",ylab = "Amplitude",main = "Time series")
plot(wt.t1, plot.cb=FALSE, plot.phase=FALSE,main = "Continuous wavelet transform",
     ylab = "Period (hours)",xlab = "Time (hours)")
spectrum(y,method = "ar",main = "Spectral density function", 
         xlab = "Frequency (cycles per hour)",ylab = "Spectrum")
## the last one is the current plot
plot.new()              ## suggested by @Josh
vps <- baseViewports()
pushViewport(vps$figure) ##   I am in the space of the autocorrelation plot
vp1 <-plotViewport(c(1.8,1,0,1)) ## create new vp with margins, you play with this values 
require(ggplot2)
acz <- acf(y, plot=F)
acd <- data.frame(lag=acz$lag, acf=acz$acf)
p <- ggplot(acd, aes(lag, acf))   geom_area(fill="grey")  
  geom_hline(yintercept=c(0.05, -0.05), linetype="dashed")  
  theme_bw() labs(title= "Autocorrelation\n") 
  ## some setting in the title to get something near to the other plots
  theme(plot.title = element_text(size = rel(1.4),face ='bold'))
print(p,vp = vp1)        ## suggested by @bpatiste

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • bcbauer

    bcbauer

    7 ŞUBAT 2007
  • DanceOn

    DanceOn

    6 Mayıs 2006
  • dougownsall

    dougownsall

    7 EKİM 2007