textOutput выровнен с элементом selectInput - PullRequest
0 голосов
/ 30 апреля 2019

Я довольно новичок в Shiny, и мне трудно исправить следующий, по-видимому, простой пример. У меня есть следующий код:

library(shiny)
u <- fluidPage(
  titlePanel("Simple Selectable Reactive Function"),
  sidebarLayout(
    sidebarPanel(),
    mainPanel(
      h2("Results"),
      fluidRow(column(2,
                      selectInput("aa", "Choose a function", choices=c("sin","cos","exp"))
                      ),
              column(2,
                     textOutput(outputId = "outputText1") 
                     )


      )

    ))
  )

s <- function(input,output){

  output$outputText1 <- renderText({ 
    paste("Sample text")
  })

}
shinyApp(ui=u,server=s)

Все, что я пытаюсь сделать, это выровнять «образец текста» на той же высоте на экране, что и раскрывающийся список («грех»). Прямо сейчас слова «Образец текста» выровнены по метке элемента «Выберите функцию». Я проверил? TextOutput, но это не кажется очень полезным. Спасибо

1 Ответ

1 голос
/ 01 мая 2019

Один из способов - обернуть textOutput(outputId = "outputText1") tags$div и добавить верхний отступ.

library(shiny)
u <- fluidPage(
  titlePanel("Simple Selectable Reactive Function"),
  sidebarLayout(
    sidebarPanel(),
    mainPanel(
      h2("Results"),
      fluidRow(column(2,
                      selectInput("aa", "Choose a function", choices=c("sin","cos","exp"))
      ),
      column(2,
             tags$div(textOutput(outputId = "outputText1"), style = "padding-top:30px;") 
      )


      )

    ))
)

s <- function(input,output){

  output$outputText1 <- renderText({ 
    paste("Sample text")
  })

}
shinyApp(ui=u,server=s)

Альтернатива использовать два fluidRow, чтобы сделать его более отзывчивым.В этом случае метка selectInput установлена ​​в NULL и, например, вместо нее используется элемент h5.

library(shiny)
u <- fluidPage(
  titlePanel("Simple Selectable Reactive Function"),
  sidebarLayout(
    sidebarPanel(),
    mainPanel(
      h2("Results"),
      fluidRow(column(2, h5(tags$b("Choose a function")))),
      fluidRow(column(2, selectInput("aa", label = NULL, choices=c("sin","cos","exp"))),
               column(2,textOutput(outputId = "outputText1")))            

      )

    )
)

s <- function(input,output){

  output$outputText1 <- renderText({ 
    paste("Sample text")
  })

}
shinyApp(ui=u,server=s)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...