SORU
8 AĞUSTOS 2009, CUMARTESİ


Yan yana araziler ggplot2 ile

Yan par(mfrow=c(1,2)) eşdeğer iki araziler yerleştirmek istiyorum.

Örneğin, aşağıdaki iki araziler Haritayı yan yana aynı ölçek ile olmasını isterim.

x <- rnorm(100)
eps <- rnorm(100,0,.2)
qplot(x,3*x eps)
qplot(x,2*x eps)

example data.frame aynı şekilde onları koymak gerekir mi?

qplot(displ, hwy, data=mpg, facets = . ~ year)   geom_smooth()

CEVAP
14 EKİM 2010, PERŞEMBE


Herhangi bir ggplots yan yana (ya da bir ızgara üzerinde n araziler)

gridExtra paketinde 10* *işlevi birden çok parsellerin bir araya getirecektir; bu yan tarafından iki yan koymak.

require(gridExtra)
plot1 <- qplot(1)
plot2 <- qplot(1)
grid.arrange(plot1, plot2, ncol=2)

Bu ise yeniden kullanmadan farklı değişkenleri çizmek istiyorsanız iki araziler aynı verilere dayalı değildir, örneğin faydalı olur().

Bu bir yan etki olarak çıktı arsa. Bir dosya için yan etkisi yazdırmak için aygıt sürücüsünü belirtin (pdf, png, vb gibi), örneğin

pdf("foo.pdf")
grid.arrange(plot1, plot2)
dev.off()

ya da, ggsave() ile birlikte arrangeGrob() kullanın

ggsave("foo.pdf", arrangeGrob(plot1, plot2))

Bu iki farklı araziler par(mfrow = c(1,2)) kullanarak yapmak eşdeğerdir. Bu sadece zaman kazandırır veri düzenlenmesi, iki farklı araziler istediğiniz zaman gereklidir.


Ek: Kullanma Yönü

Yönleri farklı gruplar için benzer oyunlar yapmak için faydalıdır. Bu birçok cevabı aşağıda, aşağıda işaret edilir, ama yukarıdaki örnekler araziler için eşdeğer bu yaklaşım vurgulamak istiyorum.

mydata <- data.frame(myGroup = c('a', 'b'), myX = c(1,1))

qplot(data = mydata, 
    x = myX, 
    facets = ~myGroup)

ggplot(data = mydata)   
    geom_bar(aes(myX))   
    facet_wrap(~myGroup)

Güncelleme

cowplot plot_grid işlevi grid.arrange alternatif olarak incelenmeye değer. @answer Noel Baba-wilke aşağıda ve eşdeğer bir yaklaşım this vignette bakın; ama işlevi this vignette dayalı arsa yeri ve boyutu üzerinde daha hassas bir kontrol sağlar,.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • khloe brooks

    khloe brooks

    25 Temmuz 2011
  • magnum33563

    magnum33563

    8 NİSAN 2011
  • Nightmare2005

    Nightmare200

    14 Ocak 2007