Я пытаюсь разместить изображения на графике, который должен иметь фиксированные координаты (значения x, y - это координаты GPS, и я хочу, чтобы карта правильно масштабировалась). Если диапазоны x и y не совпадают, изображения сглаживаются.
Я не знаю, является ли это ошибкой или желаемым поведением. Есть ли способ сделать изображение с исходным соотношением сторон? Единственное, что я придумал, это поставить невидимые точки по углам, чтобы сюжет снова стал квадратным.
Простой пример выглядит следующим образом:
require(tidyverse)
require(ggimage)
plot_image <- function(x_size, y_size) {
dta_points <- crossing(x = c(-x_size, x_size), y = c(-y_size, y_size))
dta_img <- data_frame(x = 0, y = 0, image = 'https://www.r-project.org/logo/Rlogo.png')
ggplot(NULL, aes(x, y)) +
geom_point(data = dta_points) +
geom_image(data = dta_img, aes(image = image), size = 1) +
ggtitle(paste0('x_size: ', x_size, ', y_size: ', y_size)) +
coord_fixed()
}
plot_image(x_size = 1, y_size = 1)
plot_image(x_size = 0.1, y_size = 1)
plot_image(x_size = 1, y_size = 0.1)