Я пытаюсь выровнять несколько панелей (2 карты) и вывод сетки из пакета openair с пояснительным текстом, используя сетку:
Однако я хотел бы, чтобы левое поле вывода решетки было выровнено с левым краем карты в левом верхнем углу, а текст выровнен по левому краю верхней правой карты.
в идеале я хотел бы получить это:
Код, который я использую, таков:
library(tmap)
library(tmaptools)
library(openair)
library(grid)
library(gridExtra)
london_map <- qtm(read_osm("London"))
london_terrain <- qtm(read_osm("London", type = "stamen-terrain"))
pp_plot <- polarPlot(mydata, type="season")
top.vp <-
viewport(layout=grid.layout(3, 11,
heights=unit(c(0.5, 3.5 ,4), "inches"),
widths=unit(c(1,1,1,1,1,1,1,1,1,1), "inches")))
png(filename = "test.png", width = 11, height = 8, units ="in", res=72)
grid.newpage()
pushViewport(top.vp)
print(london_map, vp = viewport(layout.pos.row = 2, layout.pos.col=1:5, just="left"))
print(london_terrain, vp = viewport(layout.pos.row = 2, layout.pos.col=6:11, just="left"))
pushViewport(viewport(layout.pos.row = 3, layout.pos.col=1:7))
plot(pp_plot$plot, newpage=FALSE)
popViewport()
pushViewport(viewport(layout.pos.row = 3, layout.pos.col=8))
grid.text("Notes: \n1. quo durius te exerces, eo facilius certabis\n2. Ursis fidimus\n3. audaces fortuna juvat \n", just=0)
dev.off()
Я устал работать с справедливыми аргументами, но безрезультатно.
position
для?print.trellis
(который документирует функцию, которая отправляется вашим вызовомplot(pp_plot,...)
). Затем, для построения текста, не хотите ли вы поместить его вlayout.pos.col=6
(неlayout.pos.col=8
)? Наконец, и это не имеет значения, ваш макет имеет 11 столбцов, но вы указываете только 10 значений ширины. - person Josh O'Brien   schedule 16.01.2018position =c(0,0,0.5,0.5)
уменьшает его вдвое, но не исправляет выравнивание. Текст - даже сlayout.pos.col=6
также не выровнен. Может быть, есть какое-то пустое пространство, которое мне нужно как-то обрезать) с карт и/или polarPlots? - person James Thomas Durant   schedule 16.01.20180-1
, похоже, я могу выровнять их сposition = c(-0.18,0,0.82,1)
Спасибо, сэр! - person James Thomas Durant   schedule 16.01.2018grid.text
привело к упорядочению. @SCDCE Я также посмотрю наgtable
иgrid.arrange
. - person James Thomas Durant   schedule 16.01.2018