Попытка запрограммировать блестящий макет приложения, включая строки и столбцы для входных данных.Встроенные функции лучше всего подходят для простого формата столбца.До сих пор удалось вложить нагрузку fluidRow
s, чтобы получить вывод в примере кода ниже.
Вложенность fluidRow
: R Shiny - как создать этот макет с вложенными строками в столбце 2
блестящие 4 маленьких текстовых поля ввода рядом друг с другом
Вот подмножество моего кода:
ui <- fluidPage(
h1("XXX"), #Main page title
fluidRow(
column(3,
wellPanel(
sliderInput(inputId = "time.step",
label = "Time",
value = 100, min = 0, max = 1000),
numericInput(inputId = "no_",
label = "choose number",
value = 8, min = 1, max = 10),
checkboxGroupInput(inputId = "chr_vec",
label = "characters",
choices = c("a", "b", "c", "d", "e", "f",
"g", "h", "i", "j", "k"),
selected = c("a", "b")
), #close checkboxGroupInput
actionButton("runbutton", "Run")
) #close wellPanel
), #close column
#### Parameters ####
column(8,
fluidRow(
conditionalPanel(
condition = "input.chr_vec.indexOf('a') !== -1",
column(12,
splitLayout("Parameters",
numericInput(inputId = "1.numeric.flip.time",
label = "1",
value = 50, min = 0, max = 1000),
numericInput(inputId = "2.numeric.start.val",
label = "2",
value = 99, min = 0, max = 1000),
numericInput(inputId = "3.numeric.end.val",
label = "3",
value = 100, min = 0, max = 1000),
numericInput(inputId = "sd.numeric.stdev",
label = "SD",
value = 0, min = 0, max = 1000)
) #close splitLayout
) #close column
) #close conditionslPanel
), #close fluidRow
fluidRow(
conditionalPanel(
condition = "input.chr_vec.indexOf('b') !== -1",
column(12,
splitLayout("Parameters2",
numericInput(inputId = "5.numeric.flip.time",
label = "5",
value = 50, min = 0, max = 1000),
numericInput(inputId = "6.numeric.start.val",
label = "6",
value = 99, min = 0, max = 1000)
) #close splitLayout
) #cose column
) #close conditionalPanel
) # close fluidRow
) #close column
)
)
shinyApp(ui, server = function(input, output) { })
Вещи IПытаюсь решить:
1) Заголовок «параметры» странно всплывает, как поле ввода, занимающее место.
2) в реальном коде есть примерно дюжина строк параметров(одна строка на флажок слева), вещи становятся очень грязными, особенно когда количество строк выходит за пределы столбца ввода проверки (нацеливаясь на что-то вроде изображения ниже).
3) масштаб и обоснование - поможетмного, если бы я мог немного уменьшить шрифт и поля ввода строк параметров и в идеале выровнять поля ввода слева, а не по центру, чтобы они выстроились в ряд (пробовал это до сих пор: Управление высотой в liquidRow в Rблестящий ).
Поиск некоторых потенциальных решений с использованием языков, с которыми я не знаком (CSS), поэтому небольшое объяснение будет очень цениться :) Заранее спасибо!