2014-05-12 13 views
26

Realizzazione di un Rpresent in Rstudio con knitr Ho una diapositiva con una sola immagine, che voglio riempire l'intero schermo/diapositiva. Come lo faccio?Rpresentation in Rstudio - Crea immagine completa l'intero schermo

La seconda diapositiva delle seguenti .Rpres-documento è impostata su 2000x2000 pixel, ma ancora riempie solo una piccola area dello schermo:

first slide 
====== 


Slide with plot which I want to fill the whole screen 
======================================================== 
title: false 
```{r, echo=FALSE,out.height="2000px",out.width="2000px"} 
plot(cars) 
``` 

Questo è ciò che intendo quando scrivo che l'immagine fa non "riempire l'intero schermo", le linee rosse sono disegnate in parti dello schermo che non sono riempite dalla trama.

enter image description here

aggiornamento novembre 2016

scelta "HTML Slidy" quando si crea una nuova presentazione in Rstudio versione 1.0.44, mi dà più facile il controllo della dimensione. Quanto segue è vicino a quello che volevo una risoluzione full HD, e molto semplice da fare:

--- 
title: "Untitled" 
output: slidy_presentation 
--- 

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

## 

```{r pressure, fig.height=10, fig.width=19} 
plot(pressure) 
``` 
+0

Il problema non è la dimensione dell'immagine, ma la rappresentazione del bordo si aggiunge attorno alle diapositive (verificarlo utilizzando qualcosa come l'ispettore di chrome). Ho avuto un gioco veloce cercando di regolare le dimensioni della diapositiva (qui http://www.rstudio.com/ide/docs/presentations/displaying_and_distributing_presentations) ma senza molta fortuna. Probabilmente lo puoi fare usando il css personalizzato (http://www.rstudio.com/ide/docs/presentations/customizing_fonts_and_appearance), ma afaict, non sembra essere un modo per far sì che l'immagine generata sia più grande di 504 px alto ... –

+0

Ricordo che c'è una restrizione della larghezza dell'immagine in CSS ('max-larghezza'), e potrebbe essere necessario provare qualcosa come l'opzione chunk' out.extra = 'style = "max-width: 2000px ; " ''. –

+0

Se stai utilizzando il formato "originale" (cioè reveal.js) .Rpres, puoi provare a incorporare il plugin "fullscreen" di reveal.js - https://github.com/regisb/reveal.js-fullscreen -img - ma richiederà la post-elaborazione poiché non ho trovato un modo per influenzare la produzione delle aree di tag "

" da RStudio. Se stai usando l'output di ioslides, non sono sicuro di come influenzare la visualizzazione dell'immagine a schermo intero. – hrbrmstr

risposta

36

Ecco il modo per impostare la dimensione presentazione complessiva: http://www.rstudio.com/ide/docs/presentations/displaying_and_distributing_presentations il valore predefinito è piuttosto piccolo: 960 * 700.

L'interazione tra le dimensioni figura, formati di output e le dimensioni di presentazione è difficile e io non sono un esperto, ma questo sembra funzionare bene. Dopo un po 'nei guai, questo sembrava a posto: la versione

first slide 
====== 
width: 1920 
height: 1080 

Slide with plot which I want to fill the whole screen 
======================================================== 
title: false 
```{r myplot,echo=FALSE,fig.width=8,fig.height=4.5,dpi=300,out.width="1920px",out.height="1080px"} 
plot(cars) 
``` 
1

Si possono trovare le dimensioni dello schermo e l'uso che per impostare le dimensioni grafico usando grDevices a = dev.size("px")

e allora puoi usare quello nel tuo codice.

+4

Trovare le dimensioni dello schermo non è un problema. Il problema è che la trama non obbedisce alle dimensioni che cerco di impostare. Il mio schermo è 1920x1080 e la trama è impostata su 2000x2000 pixel e ancora riempie solo una piccola parte dello schermo. –

+0

Nel mio caso il valore che ottengo da dev.size sembra essere il valore corrente di dev (427, 230), quale non è la dimensione massima del dispositivo. L'idea è buona e chiaramente la strada da percorrere (trovare la dimensione del dispositivo e usarla), ma sembra che manchi qualcos'altro perché funzioni come previsto. – Picarus

1

knitr: versione 1.16

RStudio: 1.0.143

descrizione del problema: quando knitr analizza il codice R, anche se si imposta un larghezza della pagina css personalizzata, l'output di un file html ha una larghezza massima costante: 940px;

uscita knitr:

max-width: 940px;

Il mio file css impostazione

max-width: 2000px;

larghezza min: 700 px;

knitr riconosce il file css personalizzato, ma non crea un output in base alle impostazioni del mio css. Lo so perché quando ho erroneamente digitato il file css, knitr produce un errore durante l'output.

La soluzione che ha funzionato per me era quella di andare al file creato da knitr e modificare manualmente la larghezza massima : 2000px; larghezza minima: 700 px;

Meglio soluzione sarebbe ovviamente quello di trovare la radice del problema nel programma knitr/Pandoc

1

Considerando la risposta di Andy, ho trattenuto la mia uscita di 940px di larghezza e ottenuto buoni risultati sia per la presentazione a schermo intero RStudio e " Visualizza nel browser"

Aggiungendo al mio blocco di impostazione:

library(knitr) 
opts_chunk$set(fig.width=8, fig.height=4.5, dpi=300, out.width="940px", out.height="529px") 

Se si usa qualcosa come 1.920 ampia si avrà problemi durante l'esportazione in HTML o la visualizzazione in browser.