2017-10-15 33 views
0

在以下示例中,dygraph的底部部分不可見,既不在RStudio html查看器中,也不在Web瀏覽器中。我的dygraph在flexdashboard中沒有響應:輸出不會自動調整大小以適合邊界

--- 
title: "Flexdashboard with params" 
params: 
    names: "Diane" 
output: 
    flexdashboard::flex_dashboard: 
    orientation: columns 
--- 

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

First tab 
=============================== 

### Load packages 

```{r} 
# devtools::install_github("thinkr-open/prenoms") 
library(prenoms) 
library(dplyr) 
library(tidyr) 
library(dygraphs) 
library(stringr) 
``` 


### Define a function 

```{r} 
draw_names_dygraph <- function(names){ 

prenoms %>% 
    group_by(year,name) %>% 
    summarise(total = sum(n)) %>% 
    filter(name %in% names) %>% 
    spread(key = name,value =total) %>% 
    dygraph() 

} 
``` 

Second tab 
=========================================== 

### Draw a dynamic graph... 

... with parameters 

```{r} 
draw_names_dygraph(names = str_split(params$name, ",") [[1]]) 
``` 

在第二個選項卡中添加一行無法解決問題。我究竟做錯了什麼 ?是不是flexdashboard應該是響應?

關於我的會話信息:

> sessionInfo() 
R version 3.4.1 (2017-06-30) 
Platform: x86_64-pc-linux-gnu (64-bit) 
Running under: Ubuntu 16.04.3 LTS 

Matrix products: default 
BLAS: /usr/lib/libblas/libblas.so.3.6.0 
LAPACK: /usr/lib/lapack/liblapack.so.3.6.0 

locale: 
[1] LC_CTYPE=fr_FR.UTF-8  LC_NUMERIC=C    
[3] LC_TIME=fr_FR.UTF-8  LC_COLLATE=fr_FR.UTF-8  
[5] LC_MONETARY=fr_FR.UTF-8 LC_MESSAGES=fr_FR.UTF-8 
[7] LC_PAPER=fr_FR.UTF-8  LC_NAME=C     
[9] LC_ADDRESS=C    LC_TELEPHONE=C    
[11] LC_MEASUREMENT=fr_FR.UTF-8 LC_IDENTIFICATION=C  

attached base packages: 
[1] stats  graphics grDevices utils  datasets methods 
[7] base  

other attached packages: 
[1] shiny_1.0.5  bindrcpp_0.2  stringr_1.2.0 
[4] tidyr_0.7.1  dplyr_0.7.4  prenoms_0.1.0 
[7] dygraphs_1.1.1.4 

loaded via a namespace (and not attached): 
[1] Rcpp_0.12.13  compiler_3.4.1 bindr_0.1   
[4] shinyjs_0.9.1  tools_3.4.1  xts_0.10-0  
[7] digest_0.6.12  memoise_1.1.0  jsonlite_1.5  
[10] evaluate_0.10.1 tibble_1.3.4  lattice_0.20-35 
[13] pkgconfig_2.0.1 rlang_0.1.2  reprex_0.1.1  
[16] rstudioapi_0.7 yaml_2.1.14  withr_2.0.0  
[19] knitr_1.17  devtools_1.13.3 htmlwidgets_0.9 
[22] rprojroot_1.2  grid_3.4.1  flexdashboard_0.5 
[25] tidyselect_0.2.0 glue_1.1.1  R6_2.2.2   
[28] rmarkdown_1.6  callr_1.0.0  whisker_0.3-2  
[31] clipr_0.3.3  purrr_0.2.3  magrittr_1.5  
[34] backports_1.1.1 htmltools_0.3.6 assertthat_0.2.0 
[37] xtable_1.8-2  mime_0.5   httpuv_1.3.5  
[40] miniUI_0.1.1  stringi_1.1.5  zoo_1.8-0 

回答

1

我發現這個問題:唯一可以做的事情是增加一個fig.height(和fig.width,但只適用於輸出的美女)。這些圖形參數可以被處理爲具有很好的輸出。

然後,在dygraph輸出之後添加類似## ...的內容以將其大小限制爲當前窗口。

請注意,我在draw_names_dygraph()中添加了高度參數。

### Define a function 

```{r} 
draw_names_dygraph <- function(names, height_dy = 3, height_RangeSelector = 20){ 

prenoms %>% 
    group_by(year,name) %>% 
    summarise(total = sum(n)) %>% 
    filter(name %in% names) %>% 
    spread(key = name,value =total) %>% 
    dygraph(height = height_dy) %>% 
    dyRangeSelector(height = height_RangeSelector) 
} 
``` 

Second tab 
=========================================== 

### Draw a dynamic graph... 

... with parameters 

```{r, fig.height=6, fig.width=7} 
draw_names_dygraph(names = str_split(params$name, ",") [[1]], height_dy = NULL) 
``` 

## ... 

這是我從上面的修改的碼,上Rpubs發佈所獲得的Flexdashboard

+0

謝謝,它的工作原理(我有一個意思是看圖),但仍然,我不明白爲什麼我必須修復高度和寬度,並且不能有響應行爲 – DianeBeldame

+0

我找不到解決方案。 。應該是因爲'dygraph'沒有很好地實現到flexdashboard(還沒有?) –

相關問題