我正在尝试利用包hc_chart()
函数中提供的加载事件highcharter
,以便在图表加载后将 highcharts 对象导出到 SVG,但到目前为止,我的代码无法下载任何内容。通常,如果我对 PNG 或 JPEG 图像感兴趣,我只会使用webshot2::webshot()
,但没有对 SVG 的本机支持。我也可以手动点击导出菜单以将图表下载为 SVG,但我生成的图表太多而无法手动下载。下面是我迄今为止的尝试:
library(highcharter)
hchart(
# Default data set included with highcharter
citytemp_long,
type = "line",
hcaes(x = month, y = temp, group = city)
) |>
hc_exporting(enabled = TRUE, filename = "example-chart") |>
hc_chart(
events = list(
load = JS(
"function() {
setTimeout(function() {
this.exportChart({ type: 'image/svg+xml' });
}, 100);
}"
)
)
)
由于highcharter
需要将JS()
函数内包装的 JavaScript 传递给 Highcharts API,我查看了一些 JSFiddle 示例,但我找到的每个示例都使用按钮 + eventListener 组合来创建快速导出菜单。提前感谢任何帮助!