2016-03-10 12 views
6

Le opzioni predefinite di rmarkdown è impostare fig.width = 12. Mi piacerebbe l'auto-adujust per la larghezza di un dispositivo mobile se questo è possibile.Creazione di htmlwidgets in Rmarkdown mobile friendly

Sto ospitando il seguente Rmarkdown a http://akdata.org/misc/leafletmobile

--- 
title: "Untitled" 
output: html_document 

--- 


```{r}  
    library(leaflet) 
    leaflet() %>% addTiles() 
`` 

che consente di regolare la larghezza dello schermo quando gioco con diversi dispositivi mobili in DevTools cromo però. Ho un Samsung Galaxy 5 fisico con cui sto testando.

risposta

3

Penso che specificare una percentuale width ti darà il risultato desiderato. Di seguito è come lo si farebbe in e qui è un live example. Purtroppo, se si specifica una percentuale height, lo schermo apparirà vuoto a causa di qualche bug, quindi non è completamente reattivo, ma si adatta ancora bene sul mio iPhone.

--- 
title: "responsive_leaflet" 
author: "TimelyPortfolio" 
date: "March 24, 2016" 
output: 
    html_document: 
    mathjax: null 
--- 

```{r echo=FALSE, warning=FALSE} 
# no help from a framework 
# just percentage height and width 
library(leaflet) 

l <- leaflet(width="100%") %>% 
    addTiles() 
l 
``` 

```{r echo=FALSE, warning=FALSE} 
# demonstrate with Bootstrap 
library(shiny) 

fluidRow(
    column(width=10,l) 
) 
``` 
+0

Grazie. Questo ha senso per me. – cylondude

0
<div id="htmlwidget-4092" style="width:75%; height:75%; position:absolute" class="leaflet html-widget"></div> 

Questo blocco di codice appare vicino al fondo della sorgente. Le dimensioni possono essere calcolate in percentuale e verrà ridimensionata automaticamente per adattarsi allo schermo. Qualsiasi percentuale dovrebbe funzionare. Inoltre, è necessario position: absolute per assicurarsi che rimanga nella posizione corretta.

Nota: si consiglia di trovare un modo per abbreviare questi collegamenti massicci nell'origine della pagina.