Sağdan sola doğru iki grafik çizilen bir görünümüm var. Her iki grafikte de görüntü alanında bulunan tek bir başlık görünmeye çalışıyorum. Mümkün mü? Üzgünüz, noob durumumdan dolayı resim yok ve çalışma ortamım nedeniyle kodu gönderemiyorum.R bakış açısıyla birden fazla grafiğe sahip derecelendirme başlığı ggplot2
cevap
Ben size merak herşeyi yerine getirir grid.arrange()
fonksiyonunu sağlar gridExtra pakette, ilgini çekebileceğini düşünüyorum.
Kevin'in Örneğin @ komut
grid.arrange(plots[[1]], plots[[2]], ncol=2,
main="test main", sub="subtitle test")
Ve şimdi grid.arrange() .0 – kmm
@Kevin hakkında öğrendim. Cevabınız iyiydi (bu yüzden benim +1'im). Bunu keşfeden önce kullandım :-) – chl
@cgl Ben çok takdir ettim ki - her seferinde bir pafta dizisini (çoğu zaman olan) seçmek istediğimde bir işlevin kaynaklanmasından çok daha basit bir çözüm. – kmm
this post to the ggplot2 mailing list kodunun hemen hemen değiştirilmemiş bir sürümünü kullanarak bir ana başlık ve alt başlığı bir grafik matrisinin üstüne ve altına yerleştirdim. Baptiste Auguié'ye kredi.
arrange <- function(..., nrow=NULL, ncol=NULL, as.table=FALSE,
main=NULL, sub=NULL, plot=TRUE) {
dots <- list(...)
n <- length(dots)
if(is.null(nrow) & is.null(ncol)) { nrow = floor(n/2) ; ncol = ceiling(n/nrow)}
if(is.null(nrow)) { nrow = ceiling(n/ncol)}
if(is.null(ncol)) { ncol = ceiling(n/nrow)}
fg <- frameGrob(layout=grid.layout(nrow,ncol))
ii.p <- 1
for(ii.row in seq(1, nrow)){
ii.table.row <- ii.row
if(as.table) {ii.table.row <- nrow - ii.table.row + 1}
for(ii.col in seq(1, ncol)){
ii.table <- ii.p
if(ii.p > n) break
fg <- placeGrob(fg, ggplotGrob(dots[[ii.table]]),
row=ii.table.row, col=ii.col)
ii.p <- ii.p + 1
}
}
if(!is.null(main) | !is.null(sub)){
g <- frameGrob() # large frame to place title(s) and content
g <- packGrob(g, fg)
if (!is.null(main))
g <- packGrob(g, textGrob(main), side="top")
if (!is.null(sub))
g <- packGrob(g, textGrob(sub), side="bottom")
} else {
g <- fg
}
if(plot) grid.draw(g)
invisible(g)
}
library(ggplot2)
plots <- llply(1:2, function(.x) qplot(1:10,rnorm(10), main=paste("plot",.x)))
arrange(plots[[1]],plots[[2]], nrow=1, ncol = 2, as.table=TRUE, main="test main",
sub="subtitle test")
üretir:
Teşekkürler Kevin, öneriyi chl'den kullanacağım. Gelecekte değişiklik yapan herkes için daha kolay ve daha görünür olacaktır. – pcLogos
başka imkanı, bu tür boş arsa yaratma yoluyla aldatıyor ... olurdu ile
p1 <- ggplot(diamonds, aes(price,depth)) + geom_point()
p2 <- ggplot(diamonds, aes(price,carat)) + geom_point()
p3 <- ggplot(diamonds, aes(x=1,y=1,label="Title")) + geom_text(size=20) + opts(panel.background=theme_blank(), panel.grid.minor=theme_blank(), panel.grid.major=theme_blank(), axis.text.x=theme_blank(), axis.text.y=theme_blank(), axis.ticks=theme_blank(), axis.title.x=theme_blank(), axis.title.y=theme_blank())
vplayout <- function(x, y) viewport(layout.pos.row=x, layout.pos.col=y)
grid.newpage()
pushViewport(viewport(layout=grid.layout(4,4)))
print(p1,vp=vplayout(2:4,1:2))
print(p2,vp=vplayout(2:4,3:4))
print(p3,vp=vplayout(1,1:4))
Bunu düşündüm ama bunu hile yapmadan yapmanın bir yolu olabileceğini düşündüm :) Ben chl tarafından gönderilen kodu ile gittim. – pcLogos
- 1. R histogramını birden fazla popülasyonla
- 2. Moose :: Hata :: Arayan kişinin bakış açısıyla Croak hata bildirimi
- 3. R: Grafiğe bir ölçek ekleme
- 4. ggmap/ggplot2 içinde birden fazla efsanenin gerekçesi
- 5. ggplot2 - Farklı Uzunluktaki Kaynaklardan Birden Fazla Kutulama
- 6. ggplot2 + plotly: Eksen başlığı yok
- 7. R (ggplot2)
- 8. R: ggplot2
- 9. R - Regex - Birden fazla \ r \ n (CRLF) bir \ r \ n
- 10. R ggplot2 X ekseni
- 11. Aynı anda birden fazla R-betiği çalıştırın
- 12. Ggplot2 [R] kullanarak bir veri çerçevesinden yatay hata çubuklarıyla birden fazla çizgi nasıl çizilir? Bu kullanıyorum
- 13. Birden fazla başlatıcıya sahip olmak mümkün mü?
- 14. Farklı Değerlere sahip birden fazla dizi döndürme
- 15. data.table R - birden çok işlevi birden fazla sütuna uygulama
- 16. rgb() ggplot2 ile birlikte R
- 17. R ggplot2 gruplama çubuk grafikleri
- 18. ggplot2:
- 19. R: bir durumda birden fazla kopyasını değerlerini ayarlamak
- 20. R ggplot2: I ggplot2 kullanarak bir Boxplot oluşturduk bir Boxplot
- 21. R eksenindeki bir grafiğe x eksenini nasıl sıralayabilirim?
- 22. Formülü grafiğe ekleme
- 23. R - ggplot2 - raster'i greyscale basemap olarak kullan
- 24. Denetleyicide Birden Fazla Rota
- 25. ggplot2 birden çok katmanla eşleşme
- 26. Birden fazla çekirdek kullanmıyor mclapply
- 27. R - matris mizanpajını kullanarak birden fazla raster çizme
- 28. Gcc ile birden fazla __attribute__ birden fazla gc
- 29. R: ggvis - gri arkaplan (ggplot2 olarak)
- 30. Android'de birden fazla dize kaynak dosyasına sahip olmak mümkün mü?
Yapabilirsin Bazı verilerle kodu yayınlayın. Ya da neye sahip olduğunuzu gösteren benzer bir kod. –