Birden çok grafiği gridExtra::grid.arrange
kullanarak tek bir görüntüye yerleştiriyorum ve birleşik bir çizimi, bir işlev içinde bir işlevden döndürülebilecek bir nesne olarak kaydetme seçeneğine sahip olmak istiyorum iade edilen nesnelerin listesi. İdeal olarak, arsa nesnesini yazdırmadan bunu yapmak istiyorum.gridExtra :: grid.arrange nesnesini bir nesneye depolayın
Aşağıdaki kod, iki nokta oluşturur, bunları grid.arrange
ile birleştirir ve sonucu x
'a kaydetmeye çalışır. Ancak, x
, NULL
için değerlendirir ve çizim yazdırılır. grid.arrange
belgeleri bana arrangeGrob
işaret eder ve plot=FALSE
kullanarak çizme devre dışı bırakılabilir önerir, ancak bunu denediğimde bir hata alıyorum çünkü FALSE
bir grob nesnesi değil.
Anlamadığım şeyler için herhangi bir öneriniz var mı?
# R under development
# Windows 7 (32 bit)
# ggplot2 1.0.0
# gridExtra 0.9.1
p1 <- ggplot(mtcars, aes(x=factor(cyl), y=mpg)) + geom_boxplot()
p2 <- ggplot(mtcars, aes(x=factor(cyl), y=wt)) + geom_boxplot()
x <- gridExtra::grid.arrange(p1, p2)
x
Yorumlar için bu düzenlemeyi ekliyorum. arrangeGrob
ile denediğimde hiç çıktı almıyorum.
> gridExtra::arrangeGrob(p1, p2)
> print(gridExtra::arrangeGrob(p1, p2))
Error: No layers in plot
> x <- gridExtra::arrangeGrob(p1, p2)
> x
Error: No layers in plot
'düzenlemekGrob' yerine – hrbrmstr
@hrbrmstr kullanmayı deneyin: Küçük bir cevabın faydalı olacağını düşünüyorum. Yardım sayfası, bu örnekte oldukça yararsızdır ve bu, biraz tecrübemize rağmen başımın tepesine cevap verebilecek bir şey değildi. –
Aslında "düzenlemekGrob" ile garipleşiyor (bu kodun yorumlarda biçimlendirilmediğini unutmaya devam ediyorum, bu yüzden soruya bir değişiklik yaptım). – Benjamin