Как изменить высоту сюжета в блестящем контексте - PullRequest
3 голосов
/ 07 апреля 2020

Как показано на рисунке ниже, высота моего графика остается постоянной, когда на боковой панели выбрано несколько округов. Это делает сюжет слишком переполненным, так что ярлыки становятся нечитаемыми. Я хотел бы изменить высоту своего графика в зависимости от количества округов, выбранных на боковой панели. Как я могу это сделать?

Ниже, пожалуйста, посмотрите часть моих кодов, которые, по моему мнению, необходимо изменить.

enter image description here

Элемент пользовательского интерфейса

mainPanel(plotOutput("workforce_plot"), 

элемент сервера

workforce_plot <- reactive({
     ggplot(workforce_data(), aes(x =Age_Group, y = Percentage, fill=County.y)) + 
     geom_bar(stat = "identity",position = position_dodge()) +                                                         
     geom_text(
     aes(label = Percentage2),
     vjust = 0.5,
     colour = "black", 
     position = position_dodge(width=0.9),
     fontface = "bold",
     size=3.2,
     hjust = 0)+
     ylim(0,110)+        
     coord_flip()+

     labs(
          x = "Age Groups",
          y = "Percentage",
          face = "bold")
          })

   output$workforce_plot <- renderPlot ({ 
            workforce_plot()
          })

1 Ответ

4 голосов
/ 07 апреля 2020

Вы можете добавить параметр height к вашей функции renderPlot и передать ей функцию, которая регулирует высоту на основе некоторого соответствующего реактива.

Один пример:

output$workforce_plot <- renderPlot ({ 
            workforce_plot()
          }, height = function() {200 + (length(workforce_data()[["County.y]]) *.2)})

(Это также может быть что-то вроде length(input$country) вместо реактивного выражения.)

Затем в ui.R определите height = 'auto' для этой панели.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...