Уменьшить размер файла графика (R) (график) - PullRequest
0 голосов
/ 07 сентября 2018

Я создал карту в R, используя ggplotly.Чтобы создать ссылку, она должна быть 524 КБ или меньше, но в настоящее время она составляет 1,2 МБ.Есть ли хорошие способы уменьшить размер файла, чтобы я мог его экспортировать?Или это совершенно нереально?

1 Ответ

0 голосов
/ 07 сентября 2018

Если ваша карта имеет многоугольники, рассмотрим rmapshader::ms_simplify(), который использует алгоритм Visvalingam , чтобы уменьшить количество точек, используемых для построения многоугольника.

Вот воспроизводимый пример:

> p  <- raster::shapefile(system.file("external/lux.shp", package="raster")) # load data
> p2 <- rmapshaper::ms_simplify(p, keep_shapes = TRUE) # simplify polygons

Теперь визуализируйте результат:

> par(mfrow = c(1,2))
> plot(p,  main = paste("before:", object.size(p),  "bytes"))
> plot(p2, main = paste("after:",  object.size(p2), "bytes"))
> dev.off()

enter image description here

Вы можете редактировать настройки по умолчанию для аргумента keep, уменьшая количество сохраняемых точек и, таким образом, дополнительно уменьшая размер вашего объекта. Это происходит за счет более грубого изображения.

...