我正在尝试创建一个flexdashboard,它使用Leaflet中的事件(map_marker_click)在同一页面上的另一个图表中显示highcharts柱形图.我从其他示例中获取并且在Flexdashboards教程或示例中找不到我想要的内容. 这非常接近我想要的,没有闪亮的输入或plot.ly集成和使用标记而不是多边形(更不用说继续).
我在R中的flexdashboard有以下代码:
title: "Flexdashboards and Leaflet"
output:
flexdashboard::flex_dashboard:
vertical_layout: fill
runtime: shiny
---
```{r,include=FALSE}
library(flexdashboard)
library(shiny)
library(leaflet)
library(highcharter)
```
```{r,include=FALSE}
latitude<-c(35.94077, 35.83770, 35.84545, 35.81584, 35.79387, 36.05600)
longitude<-c(-78.58010, -78.78084, -78.72444, -78.62568, -78.64262,-78.67600)
amounts1<-c(27, 44, 34, 46, 25, 15)
amounts2<-c(34, 52, 35, 78, 14, 24)
ids<-c("a", "b", "c", "d", "e", "f")
df<-data.frame(ids,amounts1,amounts2,latitude,longitude)
renderLeaflet({
leaflet() %>%
addTiles() %>%
addMarkers(lng=c(longitude),lat=c(latitude))
})
observeEvent(input$map_marker_click,{
click<-input$map_marker_click
if(is.null(click))
return()
})
```
```{r}
renderHighchart({
highchart() %>%
hc_chart(type = 'column')%>%
hc_add_series(name=amounts1, data=click())
hc_add_series(name=amounts2, data=click())
})
```
Run Code Online (Sandbox Code Playgroud)
我想知道这是否可以在有或没有闪亮集成的flexdashboard中完成.
是否有可能将应用程序(flexdashboard图片如下)嵌入ShinyApp(shinydashboard或shiny)中?
Shiny flexdashboard来自flexdashboard 网站的示例代码:
```{r}
renderGauge({
rate <- computeContactRate(input$region)
gauge(rate, min = 0, max = 100, symbol = '%', gaugeSectors(
success = c(80, 100), warning = c(40, 79), danger = c(0, 39)
))
})
```
Run Code Online (Sandbox Code Playgroud)
这是我失败的尝试:
library(shiny)
library(shinydashboard)
#library(flexdashboard)
ui <-dashboardPage(
dashboardHeader(),
dashboardSidebar(),
dashboardBody(
column(6,box(flexdashboard::gaugeOutput("plt1"),width=12,title="Gauge Graph",background ="green"))))
server <- shinyServer(function(input, output, session) {
output$plt1 <- flexdashboard::renderGauge({
gauge(56, min = 0, max = 100, symbol = '%', label = paste("Test …Run Code Online (Sandbox Code Playgroud) 首先,这是一个最小的可重现示例:
假设我有以下flexdashboard应用程序example.Rmd:
---
title: "Test App"
output:
flexdashboard::flex_dashboard:
theme: ["lumen"]
orientation: ["columns"]
runtime: shiny
---
```{r setup, include=FALSE}
source('modules.R')
```
Test
==================
Inputs {.sidebar data-width=250}
------------------
```{r}
## Modules:
globalInputs <- callModule(setup, "inputs") # Note: you only need to call this one time!
callModule(chart, "modalChart", globalInputs)
## UI:
sidebar("inputs")
```
Column
-------------------------------------
### ModalTest
```{r}
chartUI2("modalChart")
```
Run Code Online (Sandbox Code Playgroud)
这是我的module.R文件:
sidebar <- function(id) {
ns <- NS(id)
tagList(
helpText("Press the button below to pull up a …Run Code Online (Sandbox Code Playgroud) 我已经搜索这个问题几个小时了,但似乎找不到正确的解决方案。我将不胜感激有关如何解决此问题的任何帮助。
我的 RStudio 服务器中有一个 Flexdashboard,其中有一个gvisGeoChart已包装在dynamic UI. 就像下面这样:
output:
flexdashboard::flex_dashboard:
html_document: default
orientation: rows
vertical_layout: scroll
theme: bootstrap
runtime: shiny
library(shiny)
library(flexdashboard)
library(googleVis)
# #create a ui interaction:
uiOutput("dynamic")
#render the ui:
output$dynamic <- renderUI({
htmlOutput("myTable")
})
#plot the chart
output$myTable <- renderGvis({gvisGeoChart(buyer_eur, locationvar =
"Buyers", colorvar = "Sum of Invoices",
options = list("regions",
height = "auto",
width = "auto")})
Run Code Online (Sandbox Code Playgroud)
当我在 RStudio 中运行仪表板时,它会呈现精美的效果。它显示了交互情节。但是,我没有看到.Rmd保存在同一目录中的该文件的任何 html 输出(针织通常会这样做)。相反,我看到该文件保存在一个/tmp文件夹中,如下所示:
Output created: /tmp/RtmpYG0i95/file320c5f4901a.html
Run Code Online (Sandbox Code Playgroud)
我去获取这个文件,但是当我在本地计算机上打开它时,我只看到一个空白页面。
有人可以告诉我如何html从这个仪表板中生成一个可以使用的文件吗?
我正在尝试创建一个带有多个选项卡的 Flexdashboard。其中之一需要包含多个图表(~50)。我在循环内的一个块下生成图表(因为图表的数量每次都不同)。我在输出中得到的只是显示一些图表,而无法滚动查看其余图表。滚动完全停用,但会打印图表。
到目前为止,我已经尝试过但没有成功:
有任何想法吗?
谢谢
我正在使用flexdashboard带有 Rmarkdown 的包,并且想要修改标题的尺寸、边框的位置、颜色等,从而生成由 Rstudio 创建的网页。有许多与 Flex 仪表板和 Rmarkdown 相关的 CSS 文件。有人可以告诉我为此目的应修改哪些 CSS 文件,以及这些文件位于 R 或 Rstudio 目录中的位置吗?
我正在尝试将多个 dygraph 绘图放在 Flexdashboard 的单个选项卡上。我从这里和这里尝试了很多不同的选择
\n\n我的 RMD 文件如下所示:
\n\n ---\n title: "Project Dashboard"\n output: \n flexdashboard::flex_dashboard:\n orientation: columns\n vertical_layout: scroll\n ---\n # Intro {.sidebar}\n\n # Page 1\n\n ## Column 1 {.tabset .tabset-fade data-width=850}\n\n ### Site 1\n\n ```{r Data, echo=FALSE, fig.height=2}\n\n s <- dygraph(as.xts(df,order.by=df$DateTime), group = "NC") %>% \n dyOptions(drawPoints = TRUE, pointSize = 1) %>%\n dyAxis("y", label = "Salinity (PSU)", valueRange = c(16, 30)) %>%\n dyRangeSelector(height = 20) %>% \n dyLegend(width = 400)\n\n t <- …Run Code Online (Sandbox Code Playgroud) 作为一个最小可行的例子,我模块化了这里的基本例子:https : //rmarkdown.rstudio.com/flexdashboard/shiny.html#simple_example
.Rmd在 RStudio 中运行应该可以解决问题):---
title: "stackoverflow example"
output: flexdashboard::flex_dashboard
runtime: shiny
---
```{r global, include=FALSE}
library(shiny)
library(flexdashboard) # install.packages("flexdashboard")
# load data in 'global' chunk so it can be shared by all users of the dashboard
library(datasets)
data(faithful)
# UI modules
sidebarCharts <- function(id) {
ns <- NS(id)
tagList(
p(),
actionButton(ns("settings"), "Settings", icon = icon("cogs"), width = '100%', class = "btn btn-info"),p(),
actionButton(ns("refreshMainChart") ,"Refresh", icon("refresh"), width = '100%', class = "btn btn-primary"),p() …Run Code Online (Sandbox Code Playgroud) 我在Flexdashboard中有一张宽表,通过renderTable. 浏览器中有一个滚动条,但如果您将表格滚动到右侧,它就会进入侧边栏。我怎样才能让它不可见地位于侧边栏后面或将其保留在其 div 单元格中?
这是 MWE:
---
title: 'TEST'
output:
flexdashboard::flex_dashboard:
runtime: shiny
---
```{r}
library(flexdashboard)
library(shinyWidgets)
library(shiny)
library(shinyjs)
library(stringi)
```
Inputs {.sidebar data-width=250}
-----------------------------------------------------------------------
```{r, echo = FALSE}
fileInput('file_input', tags$b('Choose CSV File'), accept=c('.csv'))
```
Column{data-width=300}
-----------------------------------------------------------------------
```{r, echo = FALSE}
set.seed(10)
x <- unique(stringi::stri_rand_strings(100, 3, '[A-Z]'))
x2 <- setNames(as.data.frame(matrix(sample(1:10, 10*length(x), T), ncol = length(x))), x)
renderTable(x2)
```
Run Code Online (Sandbox Code Playgroud)
加载后,WebGL 点在平移或缩放之前是不可见的。如何使它们在加载时立即可见?
加载后没有点出现:
出现平移或缩放点后:
下面的代码可以粘贴到 Rmd 中并进行编织:
---
title: "Untitled"
output:
flexdashboard::flex_dashboard:
orientation: columns
vertical_layout: fill
---
```{r setup, include=TRUE}
library(flexdashboard)
library(leaflet)
library(leafgl)
library(sf)
n = 100
df1 = data.frame(id = 1:n,
x = rnorm(n, 10, 3),
y = rnorm(n, 49, 1.8))
pts = st_as_sf(df1, coords = c("x", "y"), crs = 4326)
leaflet() %>%
addProviderTiles(provider = providers$CartoDB.DarkMatter) %>%
addGlPoints(data = pts, group = "pts") %>%
setView(lng = 10.5, lat = 49.5, zoom = 6)
```
Run Code Online (Sandbox Code Playgroud)
最后,我的会话信息:
> sessionInfo()
R version …Run Code Online (Sandbox Code Playgroud) flexdashboard ×10
r ×9
shiny ×6
leaflet ×2
r-markdown ×2
css ×1
googlevis ×1
highcharts ×1
rstudio ×1