减小绘图文件大小(R)(plotly)

3

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


你的地图中可能存在瓶颈,原因是生成的点太多了。如果是这种情况,减少用于生成地图的点数将导致更小的文件,甚至可以达到你所追求的524kb的阈值以下。 - Rich Pauloo
1个回答

5
如果您的地图有多边形,请考虑使用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参数的默认设置,降低保留点数的数量,从而进一步减小对象大小。这样做的代价是图像更加粗糙。


1
谢谢,Rich!这正是我在寻找的。 - DaveArmstrong

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接