svglite生成的SVG含width和height属性,与文档描述不符求助
解决svglite生成SVG包含width/height属性的问题
svglite 2.x版本默认会添加width和height属性,官方文档的描述对应旧版本(1.x)的行为。以下是两种解决方法:
直接调用svglite时去除属性
在svglite()函数中设置fixed_width和fixed_height参数为NULL,即可阻止生成这两个属性,同时保留viewBox确保SVG可正常缩放:svglite::svglite( filename = "C:/temp/ggplot.svg", fixed_width = NULL, fixed_height = NULL ) plot(1:10) dev.off()使用ggsave时去除属性
调用ggsave时,将这两个参数传递给svglite设备:library(ggplot2) p <- ggplot(data.frame(x=1:10, y=1:10), aes(x,y)) + geom_point() ggsave( "C:/temp/ggplot_ggsave.svg", plot = p, device = svglite::svglite, fixed_width = NULL, fixed_height = NULL )
svglite 2.0之后默认启用固定宽高输出,是为了让SVG在无额外样式设置时也有合适的初始显示尺寸;通过上述参数设置,可恢复到旧版本不输出宽高属性的行为,且不影响SVG的可缩放性。
内容的提问来源于stack exchange,提问作者No More Hacks
相关产品推荐
相关产品推荐

