Измените ширину вывода размера диаграммы в выходной R Markdown PDF - PullRequest
0 голосов
/ 04 октября 2018

В файле уценки R, кто-то знает, почему параметры out.width, out.height, figure.width и figure.height не изменяют размер графиков при создании PDF-файла?(Я уточняю, что такие параметры отлично работают, используя функцию 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

1 Ответ

0 голосов
/ 16 октября 2018

Графики Plotly в первую очередь предназначены для интерактивных выводов и, как таковые, могут вести себя немного странно при экспорте в статические изображения в PDF.В этой проблеме было несколько похожих сообщений в прошлом , и, похоже, это происходит из-за того, как webshot создает статическое изображение.

Вы можете исправить это, применяя размеры графического графика при создании графика.Функция plot_ly имеет аргументы width и height, которые позволяют вам установить выходные размеры результирующего графика.

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

```{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

Обновлю этот ответ, если я смогу точно понять, почему он работает, но надеюсь, что это поможет!

...