相关疑难解决方法(0)

如何在R中将html输出捕获为png

我使用 R 中由 networkD3 包创建的交互式输出。我知道如何将输出保存为 html 页面,但我还需要将图表的“静态”版本保存为 .png 文件。

代码如下所示:

# Load package
library(networkD3)

# Create fake data
src <- c("A", "A", "A", "A", "B", "B", "C", "C", "D")
target <- c("B", "C", "D", "J", "E", "F", "G", "H", "I")
networkData <- data.frame(src, target)

# Plot
simpleNetwork(networkData)
Run Code Online (Sandbox Code Playgroud)

我可以通过单击“导出”然后“另存为图像”来保存输出。但是,我更喜欢在我的代码中使用一些命令来保存图片。

png r networkd3 htmlwidgets

7
推荐指数
1
解决办法
1万
查看次数

如何通过 rmarkdown 自动将 networkD3::sankeyNetwork() 保存到静态图像中?

当我在 rmarkdown 中写报告时,我所有的数字都自动保存在文件夹下graphs。但是,由于 Sankey 图不同,它不会自动保存为图片(.png 等...)。有解决方法吗?(没有通过 RStudio Plots 面板手动保存每个图表?)

我之前看到过这个问题。但是来自的选项rbokeh会产生低质量的图形。我尝试使用第二个选项,但是代码中似乎有错误,因为函数抛出object 'vl' not found.

由于这个问题是三年前的问题,我认为目前可能有更好的解决方案。

我要保存的示例图形:

---
title: "Untitled"
author: "Guilherme"
date: "12/5/2020"
output: html_document
---

```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = TRUE,
                      fig.path = "graph/")
```

```{r}
library(networkD3)
URL <- paste0('https://cdn.rawgit.com/christophergandrud/networkD3/',
              'master/JSONdata/energy.json')
energy <- jsonlite::fromJSON(URL)

# Plot
sankeyNetwork(Links = energy$links, Nodes = energy$nodes, Source = 'source',
             Target = 'target', Value = 'value', NodeID = 'name',
             units = 'TWh', fontSize = 12, nodeWidth = …
Run Code Online (Sandbox Code Playgroud)

r r-markdown sankey-diagram networkd3

2
推荐指数
1
解决办法
512
查看次数

标签 统计

networkd3 ×2

r ×2

htmlwidgets ×1

png ×1

r-markdown ×1

sankey-diagram ×1