2016-03-14 4 views
1

Я хотел бы построить несколько изображений в R с пользовательским разрешением.Показать/отобразить изображения без изменения размера

Пример:

par(mfrow=c(1,2)) 
image(1:4,1:4,matrix(0,4,4)) 
image(1:2,1:2,matrix(1,2,2)) 

Вместо того, чтобы все они имеют тот же самый размер (разрешение) изображение 2 Шоуда быть меньше, но все еще расположены с par.

Я изучил ggplot, image, layout и par и попытался в течение нескольких часов без успеха.

+0

что вы имеете в виду? вы можете использовать 'par (mar = par ('mar') * 2)' или что-то перед рисованием второго изображения – rawr

+0

Хорошая идея, но у меня много изображений разных размеров, таких как 1x1, 2x3, 4x4, 1x1. Все должны быть расположены в сетке без изменения размера. – fwgb

ответ

0

Попробуйте использовать пакет gridExtra, например:

library(gridExtra) 
library(ggplot2) 

p1 <- ggplot() + 
geom_rect(aes(xmin = 0, xmax = 4, ymin = 0, ymax = 4), color = "red", fill = "red") 

p2 <- ggplot() + 
geom_rect(aes(xmin = 0, xmax = 2, ymin = 0, ymax = 2), color = "orange", fill = "orange") 

lay <- rbind(c(1, 1, 1, 1, NA, NA), 
      c(1, 1, 1, 1, NA, NA), 
      c(1, 1, 1, 1, 2, 2), 
      c(1, 1, 1, 1, 2, 2)) 

grid.arrange(p1, p2, layout_matrix = lay) 

Это хороший ресурс: https://cran.r-project.org/web/packages/gridExtra/vignettes/arrangeGrob.html

Смежные вопросы