减少打印的文件大小(R)(打印)

时间:2018-09-07 20:13:57

标签: r filesize r-plotly ggplotly

我已经使用ggplotly在R中创建了一个地图。要创建链接,它必须为524kb或以下,但当前为1.2Mb。有什么好的方法可以减小文件大小,以便导出吗?还是这完全不现实?

1 个答案:

答案 0 :(得分:2)

如果地图上有多边形,请考虑使用Visvalingam algorithm来减少用于构造多边形的点数的rmapshader::ms_simplify()

这是一个可重复的示例:

> 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参数上编辑默认设置,从而减少要保留的点数,从而进一步减小对象的大小。这是以较粗糙的图像为代价的。