2014-12-19 15 views
5

ich ein schönes wellpanel an der Spitze meiner Shiny nämlich haben, das gut aussieht:Ändern der Höhe eines wellpanel in Shiny

screenshot

... aber ich bin immer verärgert über all den zusätzlichen grauen Raum über und unter den eigentlichen Kontrollen! Ich möchte diesen unnötigen Platz entfernen. Meine Reihe ist um gut 50% größer als nötig, und ich bin nicht sicher, warum/wie Shiny es so bemessen hat.

Hat jemand, der Fähigkeiten in css/html/Shiny in der Lage ist, mir in die richtige Richtung zu zeigen, in Bezug darauf, wie man das ändert? Meine Versuche waren bisher erfolglos.

Hier ist der Code unten:

shinyUI(fluidPage(


    fluidRow( 
    column(12, 
      wellPanel(    
      tags$div(class = "row", 
         tags$div(class = "span"), 
         tags$div(class = "span1", h1(numericInput(inputId="num", label="ID", value=NaN))), 
         tags$div(class = "span2", h1(sliderInput(inputId="age", "Age Range", min=32, max=99, value=c(32, 99), step=1))), 
         tags$div(class = "span1", h1(radioButtons(inputId="gender", "Gender", c("combined" = 0, "male" = 1, "female" = 2), inline=FALSE))), 
         tags$div(class = "span1", h1(textOutput("text"))) 
      ) 
      ))), 



    fluidRow( 


    column(4, 
      plotOutput("some_plot_not_shown")) 

))) 

Vielen Dank für diese weit zu lesen.

Antwort

8

Sie die Polsterung verändern können:

library(shiny) 
runApp(
    list(ui = fluidPage(   
    wellPanel(    
    tags$div(class = "row", 
      tags$div(class = "span"), 
      tags$div(class = "span1", h1(numericInput(inputId="num", label="ID", value=NaN))), 
      tags$div(class = "span2", h1(sliderInput(inputId="age", "Age Range", min=32, max=99, value=c(32, 99), step=1))), 
      tags$div(class = "span1", h1(radioButtons(inputId="gender", "Gender", c("combined" = 0, "male" = 1, "female" = 2), inline=FALSE))), 
      tags$div(class = "span1", h1(textOutput("text"))) 
    ) 
    , style = "padding: 5px;") 
    , wellPanel(    
    tags$div(class = "row", 
      tags$div(class = "span"), 
      tags$div(class = "span1", h1(numericInput(inputId="num1", label="ID", value=NaN))), 
      tags$div(class = "span2", h1(sliderInput(inputId="age1", "Age Range", min=32, max=99, value=c(32, 99), step=1))), 
      tags$div(class = "span1", h1(radioButtons(inputId="gender1", "Gender", c("combined" = 0, "male" = 1, "female" = 2), inline=FALSE))), 
      tags$div(class = "span1", h1(textOutput("text1"))) 
    ) 
    , style = "padding: 45px;") 
) 
     , server = function(input, output, session){ 

     } 
     ) 
) 

enter image description here

2

Ich glaube, Sie columnsspans zu verwenden, wenn das Hinzufügen ist wirklich, was Sie nach sind versuchen - versuchen, diese:

shinyUI(fluidPage(
    fluidRow(
    column(12, 
     fluidRow(
     wellPanel(
      fluidRow(
      column(3, h1(numericInput(inputId="num", label="ID", value=NaN))), 
      column(3, h1(sliderInput(inputId="age", "Age Range", min=32, max=99, value=c(32, 99), step=1))), 
      column(3, h1(radioButtons(inputId="gender", "Gender", c("combined" = 0, "male" = 1, "female" = 2), inline=FALSE))), 
      column(3, h1(textOutput("text"))) 
     ) 
     ) # End wellPanel 
    ) 
    ) 
), 
    fluidRow(
    column(4, plotOutput("some_plot_not_shown")) 
) 
)) 

Shiny

Verwandte Themen