gpt4 book ai didi

plot - 在 R Markdown/knitr 中缩略图一些图的简单方法是什么?

转载 作者:行者123 更新时间:2023-12-04 21:36:05 27 4
gpt4 key购买 nike

我正在使用 R Markdown 和 knitr在 R Studio 中创建和更新一个简单的项目网站,让我的同事了解我正在构建的数据分析模型。页面上有一些图,(对于较小的图)到目前为止效果很好,他们可以在同一个地方看到代码和结果。

然而,一些图变得非常大(并且必须保持大以允许快速并排比较模型),并且不太适合页面。我为其中一些使用了单独上传的 pdf(页面上有链接)。如果有一种简单的方法生成 就更好了缩略图其中一些绘图,以便用户可以查看小绘图图像,单击它,然后详细检查更大的图像。但是,如果每个情节实例都需要大量手动脚本,我宁愿不浪费时间而只上传几个 pdf。一个类似的问题 here谈包,knitrbootsrap ,但我不想缩略图我所有的情节,只是选择几个。该包似乎使用 Magnific popup ,但自己将其集成到 Markdown 页面中似乎很麻烦(?)。我在 R Markdown 引用资料中没有找到任何内容 guide .当然,一种方法是生成两个绘图,一个很小的,显示出来,并将其链接到另一个单独上传的更大的绘图图像/pdf - 但需要一种更简单、更自动的方法。

因此,问题 - 是否有 更简单 如何在 R Markdown 中生成可点击的绘图缩略图?

最佳答案

所以,这就是我想出的。添加绘图 Hook ,以便在块中生成小图像之前生成全分辨率 pdf 图像:

allow_thumbnails <- function(x, options) {
if (!is.null(options$thumb)) {
filename <- sprintf("%s.full.pdf", strsplit(basename(x), "\\.")[[1]][1])
absolute_path <- file.path(dirname(x), filename)

# generate the full resolution pdf
pdf(absolute_path, width = options$thumb$width, height = options$thumb$height)
eval(parse(text = options$code))
dev.off()

# add an html link to the low resolution png
options$fig.link = absolute_path
}

knitr:::hook_plot_md_base(x, options)
}

然后在 Rmd 文件中,我使用 thumb 定义全分辨率图像的大小。争论:
```{r init} 
knit_hooks$set(plot = allow_thumbnails)
```

```{r my_large_plot, fig.width = 15, fig.height = 15, thumb = list(width = 45, height = 45)}
my_large_plot()
```

这将生成一个带有可点击 png 的 html 文件,将您带到 pdf。

关于plot - 在 R Markdown/knitr 中缩略图一些图的简单方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37834053/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com