【问题标题】:Reduce file size of a plot (R) (plotly)减小绘图的文件大小 (R) (plotly)
【发布时间】:2019-02-13 04:41:04
【问题描述】:

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

【问题讨论】:

  • 在下面查看我的答案。地图中的瓶颈之一可能是它只是用太多的点生成的。如果是这种情况,减少用于生成地图的点数将导致文件更小,甚至可能低于您的目标 524kb 阈值。

标签: r filesize r-plotly ggplotly


【解决方案1】:

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

这是一个可重现的例子:

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

【讨论】:

  • 谢谢,丰富!这正是我想要的。
猜你喜欢
  • 1970-01-01
  • 2017-08-13
  • 1970-01-01
  • 1970-01-01
  • 2013-06-20
  • 2021-02-14
  • 2012-06-19
  • 1970-01-01
相关资源
最近更新 更多