Исключите внешнее поле (Ggplot2 / geom_sf)

#r #ggplot2 #maps

Вопрос:

Мне было интересно, можно ли было бы избежать того, чтобы Ggplot2 включал это внешнее поле (белое пространство за пределами черного ящика вокруг области участка [я думаю, оно же поле участка]). Ниже приведен мой код, и я могу хорошо контролировать поле графика, но я пробовал разные подходы для уменьшения внешнего поля, и до сих пор ничего не работало.

Я также хотел бы уточнить, что мне известно, что я мог бы управлять им с помощью параметров ширины и высоты при выполнении ggsave. Тем не менее, я хотел бы использовать что-то вроде:

 grid.newpage()
pushViewport(viewport(layout = grid.layout(2, 2)))

define_region <- function(row, col){viewport(layout.pos.row = row, layout.pos.col = col)}

print(Map1, vp = define_region(1, 1:2))  
print(Map2, vp = define_region(2, 1))  
print(Map3, vp = define_region(2, 2))
 

Поэтому я хотел бы избавиться от этих пробелов до процесса сохранения.

Заранее большое спасибо, Джордж.

 ggplot()   
  geom_sf(data = FRO, fill = "#fff5f0", color = "black")  
  geom_sf(data = Coords_FRO_sf, aes(fill = Class_Article), size = 5, alpha = 0.9, show.legend = "point", shape = 21, colour = "black")  
  coord_sf(xlim = c(-8, -5.75), ylim = c(61.35, 62.45))  
  geom_label_repel(data = Coords_FRO, colour = "black",
                   size = 4.5, force = 3,
                   nudge_x = 0.05, nudge_y = 0.075, segment.curvature = 1,
                   fontface = "bold",
                   aes(x = Longitude, y = Latitude, label = Location, fill = Class_Article, family = "Helvetica"), show.legend = FALSE)  
  annotation_north_arrow(location = "br", which_north = "false", style = north_arrow_fancy_orienteering,
                         pad_x = unit(0.25, "in"), pad_y = unit(0.25, "in"))  
  annotation_scale(location = 'br', line_width = 2, text_cex = 1.35, style = "ticks")  
  theme(panel.background = element_rect(fill = "#f7fbff"),
        panel.border = element_rect(colour = "black", size = 0.5, fill = NA),
        panel.grid.major = element_line(color = "#d9d9d9", linetype = "dashed", size = 0.00005),
        plot.background = element_rect(fill="transparent"),
        panel.margin = unit(c(4, 4, 4 , 4), "cm"), complete = TRUE)  
  guides(color = "none", fill = "none")  
  theme(axis.text.x = element_text(color = "black", size = 13, family = "Helvetica"),
        axis.text.y = element_text(color = "black", size = 13, family = "Helvetica"),
        axis.title = element_blank())  
  theme(axis.ticks = element_line(color ="black", size = 0.5))

ggsave(file = "FO.jpg", width = 26, height = 16, scale = 0.65, limitsize = FALSE, dpi = 300)
 

Я хотел бы увидеть это пустое пространство, где исчезли крестики.

Я хотел бы увидеть это пустое пространство, где исчезли крестики.

Комментарии:

1. Поскольку это карта, соотношение сторон фиксировано, чтобы избежать искажений. Уменьшение ширины ggsave устранит проблему, но я не знаю, как оптимизировать ширину