Построение 3-х столбцов растров и сохранение в pdf с базой R - PullRequest
0 голосов
/ 30 апреля 2020

Извините, этот пример не полностью воспроизводим (я не предоставляю точные входные данные), но, надеюсь, пример будет понятен.

Короче говоря, я хотел бы сохранить три карты в широком формате PDF, так что все три карты могут быть показаны с желаемым экстентом + выше есть всеобъемлющий заголовок (но я не хочу, чтобы он занимал половину страницы).

Я действительно изо всех сил пытаюсь настроить его должным образом :

pdf("plots1.pdf",width = 30/2.54,height = 20/2.54)
par(mfrow = c(2,3))
layout(matrix(c(1,1,1,2,3,4), 2, 3, byrow = TRUE))
plot.new()
text(0.5,0.5,"Africa, Params_1",cex=2,font=2)
# plot.new()
# plot.new()
plot(r2_list[[1]], xlim = Region[[g]][1:2], ylim = Region[[g]][3:4],
     breaks=cuts, col = plasma(21), main = variable[1],legend=FALSE)
plot(wrld_simpl,add=TRUE)
plot(r2_list[[2]], xlim = Region[[g]][1:2], ylim = Region[[g]][3:4],
     breaks=cuts, col = plasma(21), main = variable[2],legend=FALSE)
lines(wrld_simpl)
plot(r2_list[[3]], xlim = Region[[g]][1:2], ylim = Region[[g]][3:4],
     breaks=cuts, col = plasma(21), main = variable[3])
lines(wrld_simpl)

dev.off()

Я также хотел бы попытаться напечатать 6 сюжетов, опять же - с всеобъемлющими заголовками, но я с треском провалился. Помощь будет высоко ценится.

enter image description here

1 Ответ

2 голосов
/ 30 апреля 2020

Добавьте heights= к вашему layout вызову.

layout(matrix(c(1,1,1, 2,3,4), byrow=TRUE, nr=2), heights = c(1, 8))
opar <- par(mar=c(0,0,0,0))
plot.new()
text(0.5,0.5,"Africa, Params_1",cex=2,font=2)
par(opar)
plot(1:20)
plot(3:99)
plot(1:2)

(Синие границы ниже добавлены внешне, только для справки.)

Без heights

Если я уберу heights= из кода выше, я вижу это:

plot 1, no heights

С heights

plot 2, with heights

(вы захотите поиграть с фактическими значениями, основанными на размере вашего полотна и т. Д. c.)

...