2016-04-19 20 views
12

Ho il codice qui sotto per visualizzare la linea widget (in stessa riga) nel lucidoCome visualizzare i widget inline in lucido

div(style="display:inline-block; width: 150px;height: 75px;",selectInput("ddllgra", "Function:",c('mean','median','sd','count','min','max'), selected='mean')), 
div(style="display:inline-block; width: 150px;height: 75px;",textInput(inputId="xlimitsmax", label="x-max", value = 0.5)) 

E 'venuta fuori in UI, ma non nello stesso ordine di linea. uno in arrivo nella parte superiore e l'altro sta arrivando nella parte inferiore della stessa linea.

C'è un modo per correggere questo disallineamento?

+0

abbastanza strano, se uso il visualizzatore RStudio, tutto è allineato. Quale browser stai usando? –

+0

Sto usando Chrome – vanathaiyan

risposta

15

Aggiungi vertical-align:top al style

rm(list = ls()) 
library(shiny) 

ui <- fluidPage(
    sidebarPanel(
      div(style="display: inline-block;vertical-align:top; width: 150px;",selectInput("ddllgra", "Function:",c('mean','median','sd','count','min','max'), selected='mean')), 
      div(style="display: inline-block;vertical-align:top; width: 150px;",textInput(inputId="xlimitsmax", label="x-max", value = 0.5))), 
    mainPanel() 
) 
server <- shinyServer(function(input,output){}) 
shinyApp(ui, server) 

enter image description here

Edit: come aggiungere spazio tra i div

È possibile utilizzare lo stesso approccio: Esempio sotto ha 100px tra il div

rm(list = ls()) 
library(shiny) 

ui <- fluidPage(
    sidebarPanel(
    div(style="display: inline-block;vertical-align:top; width: 150px;",selectInput("ddllgra", "Function:",c('mean','median','sd','count','min','max'), selected='mean')), 
    div(style="display: inline-block;vertical-align:top; width: 100px;",HTML("<br>")), 
    div(style="display: inline-block;vertical-align:top; width: 150px;",textInput(inputId="xlimitsmax", label="x-max", value = 0.5))), 
    mainPanel() 
) 
server <- shinyServer(function(input,output){}) 
shinyApp(ui, server) 

enter image description here

+0

Grazie. questo mi ha aiutato C'è anche un modo per creare spazio tra i widget? – vanathaiyan

+1

Vedere "modifica" sopra –

+0

Grazie mille ... – vanathaiyan

9

È necessario creare una pagina di flusso con una barra di scorrimento e quindi utilizzare la funzione di colonna.

 fluidPage(fluidRow(
         column(2, selectInput()), 
         column(1, selectInput()), 
         column(2, textInput()) 
         ) 
       ) 

Più particolare, cercare fluidPage, fluidRow e colonna all'interno riferimenti alle funzioni lucidi: http://shiny.rstudio.com/reference/shiny/latest/

+0

Sì. ho provato questo prendendo il tuo codice come campione, non mostrerò la selectinput in alcuni casi in base all'input dell'utente. in tal caso, textinput dovrebbe apparire prima al posto di selectinput. ma questo non sta accadendo usando il fluidrow. – vanathaiyan

+0

Questo ha funzionato per me. Easy peasy lemon squeezy –