我使用ggplotly在R中创建了一张地图。要创建一个链接,它的大小需要在524kb以下,但它目前是1.2Mb。有没有好的方法来减小文件大小,以便我可以导出它?或者这完全不现实?
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()
您可以编辑keep
参数的默认设置,降低保留点数的数量,从而进一步减小对象大小。这样做的代价是图像更加粗糙。