У меня есть несколько выбранных входов, которые в настоящее время контролируют вывод одной гистограммы.
Когда вы используете первый вход select, он выберет источник данных. Существует вторичный selectinput, который выбирает переменную из первого источника данных. Приведенный ниже код работает, если у вас есть несгруппированный гистограмма.
Я пытаюсь создать двойную гистограмму, и у меня есть другой источник данных, отличный от того, который я использую для текущего графика. Два основных источника данных, которые имеют одинаковые переменные. Однако 1 таблица содержит данные для «заданных точек», а другая таблица содержит данные для «использованных точек».
Я пытаюсь создать двойной бар, в котором скидки указаны как один бар, а другой бар используется для скидок. Моя проблема в том, что я не могу использовать один selectinput для вызова выходов, и я пытаюсь найти альтернативу этому. Я разместил код ниже.
table1 <- data.frame(replicate(4,sample(500:1000,52,rep=TRUE)))
table1$Week <- replicate(1, sample(1:52,52, rep=FALSE))
table2 <- data.frame(replicate(4,sample(500:1000,52,rep=TRUE)))
table2$Week <- replicate(1, sample(1:52,52, rep=FALSE))
table3 <- data.frame(replicate(4,sample(500:1000,52,rep=TRUE)))
table3$Week <- replicate(1, sample(1:52,52, rep=FALSE))
ui <- fluidPage(
selectInput("Data1", width = '150px', selected = "select", label = NULL, choices = c("table1","table2", "table3"))
,selectInput("column1", "select variable", width = '150px', choices = c("X1", "X2", "X3", "X4"), selected = "X1")
,plotlyOutput("maingraph1")
)
server <- function(input,output, session){
Data_to_display_Tab1 <<- reactive({
switch(input$Data1,
"table1" = Table1,
"table2" = Table2,
"table3" = Table3)
})
observe({
updateSelectInput(session, "column1", choices = names(Data_to_display_Tab1()[,-c(5)]), selected = "Table1")
})
output$maingraph1 <- renderPlotly({
plot_ly(Data_to_display_Tab1()) %>%
add_trace(x = ~Week, y = ~Data_to_display_Tab1()[,input$column1], type = 'bar', mode = 'lines', name = 'test') %>%
layout(barmode = 'group', xaxis = list(title = "x axis goes here"), yaxis = list(title = "y axis goes here"))
})
}
shinyApp(ui=ui, server=server)