You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.15 05:30:47