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

如何在Rmarkdown中配置Plotly的partial_bundle实现离线运行并减小HTML体积

手动配置Rmarkdown条形图partial_bundle离线运行方案

1. 提取/下载partial_bundle所需脚本

  • 从本地已安装的plotly包中提取:
    在R中运行 .libPaths() 定位包安装目录,进入plotly/htmlwidgets/lib/plotlyjs文件夹,找到plotly-basic.min.js文件(这就是partial_bundle对应的基础压缩脚本),复制到项目内的固定路径,比如./local_lib/plotly/
  • 若需特定版本,可从plotly的GitHub仓库对应tag下下载同版本的plotly-basic.min.js,保存到上述本地路径

2. 配置Rmarkdown实现离线加载

方法一:通过yaml头引入脚本

在Rmarkdown文件开头的yaml区域添加配置:

output:
  html_document:
    self_contained: false
    includes:
      in_header: load_plotly.html

然后创建load_plotly.html文件,写入:

<script src="local_lib/plotly/plotly-basic.min.js"></script>

方法二:在R代码块中指定依赖

在生成条形图的代码前,添加如下配置代码:

library(plotly)
library(htmlwidgets)

# 指定本地脚本路径与版本
setWidgetDependency(
  name = "plotly",
  version = packageVersion("plotly"),
  src = list(file = "local_lib/plotly/"),
  script = "plotly-basic.min.js"
)

# 生成条形图示例
df <- data.frame(category = c("A", "B", "C"), value = c(10, 20, 15))
p <- plot_ly(df, x = ~category, y = ~value, type = "bar")
p

3. 验证离线运行效果

关闭网络后编译Rmarkdown,若能正常生成带条形图的HTML文件,且文件体积显著小于默认配置,说明离线配置生效

注意:

  • 本地脚本版本必须与R中安装的plotly包版本完全一致,避免兼容性报错
  • 使用self_contained: false时,发布HTML文件需同步打包local_lib文件夹

内容的提问来源于stack exchange,提问作者AnonX

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.23 11:45:28