在R降价文件中,有人知道为什么在生成pdf文件时,out.width
,out.height
,figure.width
和figure.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,])
```
答案 0 :(得分:2)
图解图主要用于交互式输出,因此,在导出为PDF的静态图像时,其行为可能会有些奇怪。这个问题有一些similar posts in the past,并且似乎是由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)
```
如果我能确切知道它为什么起作用,将更新此答案,但希望能有所帮助!
答案 1 :(得分:2)
在使用带有r markdown pdf的绘图时,您需要非常小心。
在创建绘图时,
请找到下面的图形代码及其输出。
f <- list(
size = 30,
family = 'sans-serif'
)
m <- list(
l = 100,
r = 50,
b = 0,
t = 0,
pad = 4
)
p <- plot_ly(width = 800, height = 800) %>%
add_markers(data = pressure, x = pressure$temperature, y = pressure$pressure) %>%
layout(font = f, margin = m)
p
由此产生的输出是 with size and margins
现在按如下所示修改代码块选项后:
```{r pressure2, echo=FALSE, out.height="150%", out.width="150%"}
f <- list(
size = 30,
family = 'sans-serif'
)
m <- list(
l = 100,
r = 50,
b = 0,
t = 0,
pad = 4
)
p <- plot_ly(width = 800, height = 800) %>%
add_markers(data = pressure, x = pressure$temperature, y = pressure$pressure) %>%
layout(font = f, margin = m)
p
```
您将获得一个much bigger graph
继续编码!