我有一个非常简单的闪亮应用程序,它gt使用一些输入来制作表格。
我的目标之一是将用户输入的数字传递到参数中cols_width(),以便我可以向第一列添加填充。尽管在执行类似以下操作时我收到错误,提示找不到输入。
output$table <- render_gt(
reactive_tab() %>%
gt() %>%
cols_width(
1 ~ px(input$colpad)
)
)
Run Code Online (Sandbox Code Playgroud)
我也尝试过这样做{input$colpad},但.(input$colpad)也没有成功。
这是代码:
library(data.table)
library(shiny)
library(gt)
library(shinyscreenshot)
data <- gtcars %>% head(10) %>%
select(mfr, model, msrp)
ui <- navbarPage("Y u no pad??",
tabPanel("Table", icon = icon("table"),
sidebarLayout(
sidebarPanel(
selectInput("input",
label = "Choose mfr",
choices = c("All", data$mfr)),
numericInput("colpad", label = "First Column Padding", min = 1, max = 10000, value = 150),
screenshotButton(selector="#table", label = 'Download Png', …Run Code Online (Sandbox Code Playgroud) 我有一个闪亮的模块,它显示一个带有评论列的表格,用户可以在客户端输入文本,然后评论将存储在数据库中。现在,我想添加另一列带有复选框并将其相应的值(TRUE/FALSE)存储在数据库中。不确定如何从表中检索复选框值。以下是我对示例数据的尝试。
library(tidyverse)
library(shinyWidgets)
library(shiny)
library(htmlwidgets)
mtcars_df <- mtcars %>%
rownames_to_column(var="car")
writeback_UI <- function (id) {
ns <- NS(id)
DT::dataTableOutput(ns('records_tbl'))
}
shinyInput = function(FUN, len, id, ...) {
inputs = character(len)
for (i in seq_len(len)) {
inputs[i] = as.character(FUN(paste0(id, i), label = NULL, ...))
}
inputs
}
# obtain the values of inputs
shinyValue = function(id, len) {
unlist(lapply(seq_len(len), function(i) {
value = input[[paste0(id, i)]]
if (is.null(value)) NA else value
}))
}
writeback_server <- function (id,records_data) {
#stopifnot(is.reactive(records_data))
shiny::moduleServer(id, function (input,output,session) …Run Code Online (Sandbox Code Playgroud) 有没有办法在不将文件上传到 R Shiny 的情况下“查看”文件大小?
我有这个闪亮的应用程序:
library(shiny)
library(DT)
ui <- fluidPage(
fluidRow(
DT::dataTableOutput(outputId = "my_data_table"),
)
)
server <- function(input, output) {
myValue <- reactiveValues(check = '')
shinyInput <- function(FUN, len, id, ...) {
inputs <- character(len)
for (i in seq_len(len)) {
inputs[i] <- as.character(FUN(paste0(id, i), ...))
}
inputs
}
my_data_table <- reactive({
tibble::tibble(
Name = c('Dilbert', 'Alice', 'Wally', 'Ashok', 'Dogbert'),
Motivation = c(62, 73, 3, 99, 52),
Actions = shinyInput(actionButton, 5,
'button_',
label = "Fire",
onclick = paste0('Shiny.onInputChange( \"select_button\" , this.id)')
)
)
}) …Run Code Online (Sandbox Code Playgroud) 这是How to pass a reactiveplot generated in Shiny to Rmarkdown to generateddynamic reports的后续问题
我试图将用户输入传递给textInput的filename参数downloadhandler。
这个概念通常有效,但在这种情况下,这段代码不起作用:
本质上我想改变
filename = "report.html",
到
filename = paste0("my_new_name", input$text,"-" ,Sys.Date(), ".html"),
这是代码:
library(shiny)
library(radarchart)
shinyApp(
ui = fluidPage(
sliderInput("slider", "Slider", 1, 100, 50),
textInput("text", "text"),
downloadButton("report", "Generate report")
),
server <- function(input, output) {
output$plot1 <- renderChartJSRadar({
chartJSRadar(skills[, c("Label", input$selectedPeople)],
maxScale = 10, showToolTipLabel=TRUE)
})
output$report <- downloadHandler(
#filename = "report.html",
filename = paste0("my_new_name", input$text,"-" ,Sys.Date(), ".html"),
content …Run Code Online (Sandbox Code Playgroud) 我正在运行一些闪亮的应用程序。然而,有些包含可能引起公众兴趣的图形。因此,我正在 Infogram 中寻找类似于下图的解决方案,但可以从 Poltly 的 ( plotly) 工具栏编辑图表,尤其是颜色。这是 Infogram 的玩具示例。
是否可以通过编辑 Plotly 在 Shiny R 中做类似的事情?在工具栏中添加一个小的绘图配置按钮是理想的选择。如果没有,您是否知道有类似的软件包可以实现此目的?
“顶部”将是:
请注意工具栏上的配置按钮(齿轮)设计。这本身并不存在。
一个 R 代码示例
library(plotly)
fig <- plot_ly(midwest, x = ~percollege, color = ~state, type = "box")
fig
Run Code Online (Sandbox Code Playgroud) 我有一个带有时间序列数据 Plotly 图的 Shiny 应用程序。我希望用户能够平移 x(时间)轴,但保持一天的一致窗口。为此,我需要在每次调整大小后获取当前的 x 轴范围。
为什么我不只是使用rangeSlider? 因为我有大约 25,000 个数据点,并且使用 arangeSlider需要在应用程序初始化时将所有数据加载到图中,这会大大减慢速度。
当我构建、加载和运行我自己的包时,如果我事先使用“library(shinyBS)”加载 ShinyBS,则它仅使用 ShinyBS 功能,否则工具提示不起作用..虽然闪亮的应用程序有效(没有shinyBS 功能)有网页可以通过浏览器控制台看到的错误..(关于一些丢失的文件..shinyBS.css 和shinyBS.js)
所以问题是:我如何生成、部署和运行我自己的闪亮包而不强迫用户事先加载 ShinyBS(做 'library(shinyBS)' )?!
谢谢!
假设我有一个带有数据表和绘图的 Shiny 应用程序。我希望能够搜索/过滤数据表,并有一个反映结果的图。
我该怎么做呢?这甚至可能吗?有没有办法将过滤后的数据表输出到我可以使用的对象?
这是一个基本的闪亮应用程序,它不起作用。
library(DT)
ui <- basicPage(
h2("The mtcars data"),
DT::dataTableOutput("mytable"),
plotOutput('plot1')
)
server <- function(input, output) {
output$mytable = DT::renderDataTable({
datatable(mtcars,filter = 'top')
})
output$plot1 <- renderPlot({
plot(input$mytable$wt, input$mytable$mpg)
})
}
shinyApp(ui, server)
Run Code Online (Sandbox Code Playgroud)