В моем приложении shiny
я хочу показать влияние пользователя на конкретный сайт (с сайта 1 до сайта 10) по сравнению с воздействием на все сайты.
Приложение работает нормально. Однако я хочу изменить размер бара. Я не мог изменить размер бара, используя geom_bar(stat = "identity", size = 0.35)
Я хочу изменить размер бара, особенно когда я выбираю allsites
, потому что размер становится таким широким
Любые предложения будут высоко оценены
Код
library(shiny)
library(tidyverse)
load("df.rdata")
ui <- fluidPage(
fluidRow(
column(2,
radioButtons(inputId = "site",
label = "Select site",
choiceNames = c("allsites", "site1", "site2", "site3", "site4", "site5", "site6", "site7", "site8", "site9", "site10"),
choiceValues = c("allsites", "site1", "site2", "site3", "site4", "site5", "site6", "site7", "site8", "site9", "site10"),
selected = "allsites")
),
column(10,
fluidRow(
tabsetPanel(type = "tabs",
tabPanel("Bar chart",
tags$br(),
tags$br(),
plotOutput("bar_chart", width = "75%")
)
)
)
)
)
)
server <- function(input, output, session){
site <- reactive({
input$site
})
output$bar_chart <- renderPlot({
df1 <- df %>%
dplyr::filter(site %in% c("allsites", site()))
ggplot(df1, aes(site, median, fill = site))+
geom_bar(stat = "identity", size = 0.35)+
geom_errorbar(aes(ymin = lower, ymax = upper),
width = .09, size=0.2)+
facet_wrap(~site, ncol = 2, scales ="free")
})
}
shinyApp(ui, server)
Данные
> dput(df)
structure(list(site = structure(c(1L, 2L, 4L, 5L, 6L, 7L, 8L,
9L, 10L, 11L, 3L), .Label = c("allsites", "site1", "site10",
"site2", "site3", "site4", "site5", "site6", "site7", "site8",
"site9"), class = "factor"), lower = c(40.97, 1.92, 7.5, 2.66,
1.18, 0.72, 6.92, 6.87, 3.41, 2.17, 4.2), median = c(43.18, 2.56,
8.87, 3.17, 1.84, 1.04, 8.14, 8.1, 4.96, 3.03, 5.87), upper = c(45.54,
3.64, 10.59, 3.75, 2.63, 1.65, 9.49, 9.45, 6.18, 4.04, 8.15)), class = "data.frame", row.names = c(NA,
-11L))