gpt4 book ai didi

r - 在 R Markdown PDF 输出中更改绘图图表大小的输出宽度

转载 作者:行者123 更新时间:2023-12-02 11:36:36 26 4
gpt4 key购买 nike

在 R markdown 文件中,有人知道为什么 out.widthout.heightfigure.widthfigure生成 pdf 文件时,.height 参数不会改变图表大小? (我精确地说,这些参数使用 plot 函数可以完美地工作)

请在下面找到带有 Rmarkdown 文件的可重现示例

在这个例子中,我希望绘图像绘图一样占据整个工作表。

---
title: "Change chart size chart on pdf file using plotly"
output:
pdf_document: default
---

```{r setup, include = FALSE}
knitr::opts_chunk$set(echo=FALSE,message=FALSE)

```

## Parameters doesn't work with plotly

```{r, out.width='100%',out.height='100%',fig.height=20, fig.width=15, fig.align="left"}
library(plotly)
plot_ly(x = cars[1:10,]$speed,y = cars[1:10,]$dist)
```

## Parameters works using plot function

```{r,out.width='130%',out.height='100%', fig.height=20, fig.width=15, fig.align="left"}
plot(cars[1:10,])
```

enter image description here

最佳答案

Plotly 图表主要是为交互式输出而设计的,因此,在导出到 PDF 中的静态图像时可能会表现得有点奇怪。这个问题已经有一些similar posts in the past ,似乎来自 webshot 创建静态图像的方式。

您可以通过在创建图表时强制绘制图表尺寸来解决此问题。 plot_ly 函数具有参数 widthheight,可让您设置结果图的输出尺寸。

如果您想在 PDF 报告中包含 HTML 对象,您可以使用 webshot 包,该包本质上会截取渲染图的屏幕截图,并将其转换为静态图像以供您包含在报告中。这在 bookdown book 中有很好的解释。 。要安装它,您需要运行:

install.packages('webshot')
webshot::install_phantomjs()

安装webshot后,它应该会自动运行:

---
title: "Change chart size chart on pdf file using plotly"
output:
pdf_document: default
papersize: a4
---

```{r include=FALSE}
knitr::opts_chunk$set(echo = FALSE, warning = FALSE, message = FALSE)
library(plotly)
```

```{r, out.width="100%"}
plot_ly(x = cars[1:10,]$speed,y = cars[1:10,]$dist, width = 1000, height = 1200)
```

enter image description here

如果我能确切地弄清楚它为什么有效,我会更新这个答案,但希望有所帮助!

关于r - 在 R Markdown PDF 输出中更改绘图图表大小的输出宽度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52649044/

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