Shiny是我们的内部BI工具.对于我们的Shiny应用程序,我们在运行shinyServer之前加载数据:
load("afterProcessedData.RData")
# or dt = fread("afterProcessedData.csv")
shinyServer(function(input, output, session){ ...
Run Code Online (Sandbox Code Playgroud)
但是,有些应用程序正在加载大文件,并且最多需要30秒才能加载.许多用户在打开页面时,不知道页面是否已损坏,因为它在加载时卡住了.他们可能会关闭它或点击过滤器,这可能会导致错误.在这种情况下,进度条将非常有用.我注意到withProgress()
可能有所帮助,但它必须在里面reactive()
或renderXx()
.
我可以做的一种方法是在内部laod()
扭曲,但我担心的是它会降低性能.我的用户非常关心响应性能.reactive()
shinyServer(function(input, output, session){
对这种情况有什么建议吗?
编辑:我想有一个简单的方法来做到这一点.我有另一个想法.也许我可以在屏幕上显示一条文字说'数据正在加载',但是我必须让它在第一个表出现后消失.但是,我不知道如何设置条件.下面是我的代码显示第一个表:
dashboardBody(
fluidRow(
tabBox(width = 12,
tabPanel("Summary",
dataTableOutput("data1")),
Run Code Online (Sandbox Code Playgroud)
先感谢您!
在这个主题中很好地解释了如何在输入一些密码后启动shinyapp.我正在尝试做同样的事情,但我想要一个"dashboardPage"而不是"navbarPage".
我试图将do.call函数形式'navbarPage'中的参数更改为'dashboardPage',但应用程序崩溃了.
rm(list = ls())
library(shiny)
Logged = FALSE;
my_username <- "test"
my_password <- "test"
ui1 <- function(){
tagList(
div(id = "login",
wellPanel(textInput("userName", "Username"),
passwordInput("passwd", "Password"),
br(),actionButton("Login", "Log in"))),
tags$style(type="text/css", "#login {font-size:10px; text-align: left;position:absolute;top: 40%;left: 50%;margin-top: -100px;margin-left: -150px;}")
)}
ui2 <- function(){tagList(tabPanel("Test"))}
ui = (htmlOutput("page"))
server = (function(input, output,session) {
USER <- reactiveValues(Logged = Logged)
observe({
if (USER$Logged == FALSE) {
if (!is.null(input$Login)) {
if (input$Login > 0) {
Username <- isolate(input$userName)
Password <- isolate(input$passwd)
Id.username <- which(my_username …
Run Code Online (Sandbox Code Playgroud) 我正在寻找自定义Shiny的showNotification功能.
https://gallery.shinyapps.io/116-notifications/
我希望在屏幕中间生成消息而不是右下角.我不认为这可以本地设置,但我希望有人会建议如何实现这一目标.
谢谢
我试图将一些actionButton
s放在shinydashboard
侧边栏中,并且需要将它们设置为在侧边栏中居中并在分配给它们的空间内水平分布.
这是一个MWE:
library(shiny)
library(shinydashboard)
foo_body = dashboardBody()
foo_header = dashboardHeader()
foo_sidebar = dashboardSidebar(
sidebarMenu(
menuItem(
"A Dashboard",
tabName = "tab_overview",
icon = icon("gamepad")
)
),
# add some buttons
actionButton(inputId = "button1", label = "B 1", icon = icon("paper-plane")),
actionButton(inputId = "button2", label = "B 2", icon = icon("paper-plane")),
actionButton(inputId = "button3", label = "B 3", icon = icon("paper-plane"))
)
foo_page = dashboardPage(
header = foo_header,
sidebar = foo_sidebar,
body = foo_body,
title = "A Dashboard" …
Run Code Online (Sandbox Code Playgroud) 我正在努力shinydashboard
为一个闪亮的应用程序增添一点活力,但在页面上定位某些元素(例如徽标)时遇到了麻烦。我发现这个答案对于增加标题的高度非常有用,但我无法完全解决对齐问题。
徽标和浮动汉堡包和边缘之间的左侧和右侧(红色椭圆形)仍有空间。我能够移动汉堡包的唯一方法是增加titleWidth = "92%"
标题的相对大小 ( ) 以容纳更长的标题,但是如果调整窗口大小,菜单折叠切换最终会出现在奇怪的地方。中间的文字我想垂直居中。
一件巧妙的事情shinydashboard
是,如果窗口变窄,则正文内容会重新排列,以便这些值框堆叠。但是,如果更改标题高度以容纳徽标,则副作用是:
标题与某些内容重叠。我是 css 新手,但对 AdminLTE.css 和 _all-skins.css 使用的一些挖掘shinydashboard
让我更接近一些:
library(shiny)
library(shinydashboard)
server <- function(input, output, session) {}
ui <- dashboardPage(
title = "ShinyApp",
header = dashboardHeader(
tags$li(
class = "dropdown",
tags$style(
".main-header {max-height: 100px;
font-size:24px;
font-weight:bold;
line-height:24px;}"),
tags$style(
".main-header .logo {height: 100px;
font-size:24px;
font-weight:bold;
line-height:24px;align:}"
)
),
title = HTML(
"<div style = 'background-color:#3333cc; vertical-align:middle'>
<img src = 'http://www.clipartbest.com/cliparts/nTX/8nj/nTX8njyEc.jpeg' align = 'left' height = …
Run Code Online (Sandbox Code Playgroud) 我试图让我的模态根据里面的内容调整它的宽度。根据模态,我将有各种长度的按钮,我宁愿不为此格式化每个模态。
下面是我的代码:
library(shiny)
library (shinydashboard)
header <- dashboardHeader(title = "MRO Dash")
sidebar <- dashboardSidebar(actionButton("downloadBT", "Downloads", icon = icon("download")))
####FORMATTING MODAL HERE###
body <- dashboardBody(
tags$head(tags$style("#test .modal-content {width: auto;}"))
)
############################
ui <- dashboardPage(header, sidebar, body)
server <- function(input, output, session) {
myModal <- function() {
div(id = "test",
modalDialog(downloadButton("download1","Download Shipments tonight let's go"),
br(),
br(),
downloadButton("download2","Download Shipments"),
easyClose = TRUE, footer = NULL)
)
}
# open modal on button click
observeEvent(input$downloadBT,
ignoreNULL = TRUE, # Show modal on start …
Run Code Online (Sandbox Code Playgroud) ShinyDashboardPlus
具有左侧边栏菜单折叠但仍显示图标的功能。问题在于,它不会隐藏放置在侧边栏中的任何按钮或输入选择。
我正在寻找以下两种解决方案:
1)像常规一样完全折叠侧边栏shinydashboard
(隐藏按钮和输入)
2) 保持左侧菜单按原样折叠,并在部分折叠时以某种方式隐藏这些功能
下面是我的代码来显示这个问题:
library(shiny)
library(shinydashboard)
library(shinydashboardPlus)
header <- dashboardHeaderPlus(
enable_rightsidebar = TRUE,
rightSidebarIcon = "filter"
)
sidebar <- dashboardSidebar(
sidebarMenu(id = "menuChoice",
menuItem("Tab 1", tabName = "Tab1", icon = icon("globe"))
),
actionButton("Test", "Download", icon = icon("download")),
selectInput(inputId = "TestChoice",label = "Selection", selected="Choice1",
choices = c("Choice1","Choice2","Choice3"))
)
body <- dashboardBody()
rightsidebar <- rightSidebar()
ui <- dashboardPagePlus(header, sidebar, body, rightsidebar)
server <- function(input, output) {}
shinyApp(ui, server)
Run Code Online (Sandbox Code Playgroud) 我想在我闪亮的仪表板应用程序中更改背景。我在互联网功能 setBackgroundImage ( https://rdrr.io/cran/shinyWidgets/man/setBackgroundImage.html ) 中受伤。问题是我不知道我是否应该将该功能放在我的应用程序中。例如是经典应用程序,而不是仪表板。
library(shiny)
library(shinydashboard)
library(shinyWidgets)
ui <- dashboardPage(
dashboardHeader(),
dashboardSidebar(),
dashboardBody(
setBackgroundImage(src = "http://wallpics4k.com/wp-content/uploads/2014/07/470318.jpg")
)
)
server <- function(input, output) {}
shinyApp(ui, server)
Run Code Online (Sandbox Code Playgroud)
也可以将传单地图作为背景吗?
我正在开发闪亮的仪表板表单应用程序。我想将文本输入的颜色更改为红色,以便我可以将该字段显示为必填字段。但是,我尝试了对于 dateInput 但不适用于 textInput 的代码。
我正在开发闪亮的仪表板表单应用程序,我想将文本输入的颜色更改为红色,以便我可以将该字段显示为必填字段。但是,我尝试了下面列出的代码,该代码对于 dateInput 但不适用于 textInput。
column(3,wellPanel(dateInput('dateTR',format = "dd-mm-yyyy",
label = 'Date*',width = "200px",value = Sys.Date()))),
tags$style(type="text/css", "#dateTR {color : red;}"),
column(3, wellPanel(textInput ('textR', label = "Name*", value = "", width = "200px",placeholder = "--Enter name--"))),
tags$style(type="text/css", "#textR {color: red}"),
Run Code Online (Sandbox Code Playgroud)
对于上面的 dateInput ,它工作正常,但对于 textInput 则不然,如屏幕截图所示,我希望标签:名称显示为红色。
我正在尝试添加valueBox
到在navbarpage
布局中创建的闪亮应用程序,我知道阀箱是 Shinydashboard 包的一部分,但这个应用程序让我想知道我应该如何实现下面是应用程序的图像,这是实时应用程序
这是我使用以下代码进行的试验,小部件重叠并影响所有选项卡面板上的导航栏外观。
# Function for adding dependencies
library("htmltools")
addDeps <- function(x) {
if (getOption("shiny.minified", TRUE)) {
adminLTE_js <- "app.min.js"
adminLTE_css <- c("AdminLTE.min.css", "_all-skins.min.css")
} else {
adminLTE_js <- "app.js"
adminLTE_css <- c("AdminLTE.css", "_all-skins.css")
}
dashboardDeps <- list(
htmlDependency("AdminLTE", "2.0.6",
c(file = system.file("AdminLTE", package = "shinydashboard")),
script = adminLTE_js,
stylesheet = adminLTE_css
),
htmlDependency("shinydashboard",
as.character(utils::packageVersion("shinydashboard")),
c(file = system.file(package = "shinydashboard")),
script = "shinydashboard.js",
stylesheet = "shinydashboard.css"
)
)
shinydashboard:::appendDependencies(x, dashboardDeps)
}
library("shiny")
# ui …
Run Code Online (Sandbox Code Playgroud)