W R (Win64) próbuję narysować kombinację obrazów rastrowych i histogramów w jednym oknie wydruku za pomocą polecenia layout() z macierzą definiującą układ. Oto niektóre przykładowy kod z uproszczonej danych:R - wykreślanie wielu rastrów przy użyciu układu macierzy
library(raster)
r <- raster(ncols=5, nrows=5, xmn=1, xmx=5, ymn=1, ymx=5)
rast1 <- rasterize(expand.grid(1:5,1:5), r, rnorm(25))
rast2 <- rasterize(expand.grid(1:5,1:5), r, rnorm(25))
rast3 <- rasterize(expand.grid(1:5,1:5), r, rnorm(25))
layout(matrix(c(1,2,3,4,1,2,3,5,1,2,3,6), 3, 4, byrow=T))
layout.show(6)
plot(rast1, axes=F, ann=F, legend=F, box=F, useRaster=T)
plot(rast2, axes=F, ann=F, legend=F, box=F, useRaster=T)
plot(rast3, axes=F, ann=F, legend=F, box=F, useRaster=T)
hist(rnorm(100), ann=F, axes=F)
hist(rnorm(100), ann=F, axes=F)
hist(rnorm(100), ann=F, axes=F)
Jak widać, staram się wykreślić trzy obrazy rastrowe (rast1, rast2, rast3), które obejmują 1 kolumnę i 3 rzędy, każdy z 3 histogramy obok nich , z których każdy obejmuje 1 kolumnę i 1 wiersz. Komenda layout.show() daje pomysł.
Po uruchomieniu tego kodu wydaje się, że pierwsze polecenie wydruku (rastrowe) również resetuje układ okna wykresu, powodując, że wszystkie kolejne wykresy są drukowane w standardowej siatce 3x4 (przy czym piąta działka nakłada się teraz na pierwszą) . Wygląda na to, że układ układu wygląda dobrze, ponieważ mogę sporządzić sześć histogramów we właściwym układzie. Ale wykresy rastrowe majaczyły.
Podejrzewam, że jest coś w komendzie plot() w {rastrowe}, które miesza się z poleceniem layout(), ale nie mam pojęcia, dlaczego i jak. Czy jest jakiś inny sposób na osiągnięcie tego układu? Kolejna komenda rastrowa? Czy jest jakiś sposób na zresetowanie układu między działkami rastrowymi?
Z góry dziękuję.
Funkcja "działka" to tak naprawdę wiele funkcji, które zostaną wysłane w oparciu o klasę pierwszego argumentu. Musisz przyjrzeć się konkretnej funkcji klasy obiektu, który do niej przechodzisz. (Prawdopodobnie "plot.raster") –