Быстрый вопрос по форматированию позиций графиков в Shiny UI.
До сих пор я сделал серию графиков гистограмм в Server.R, и все они отлично отображаются в пользовательском интерфейсе. Единственная проблема в том, что я хочу, чтобы они выстроились в 2 ряда, по 4 в ряд. Мой текущий код, вставленный ниже, дает мне 3 строки! Верхний с 4 графиками, второй с 3 графиками (с местом для четвертого), а затем в последней строке есть 1 участок ... Где я ошибся и есть ли лучший способ разметить 8 участков блестящим цветом?
fluidRow(
column(12,
"",
fluidRow(
column(3,
plotOutput("PlotHy")#,
),
column(width = 3,
plotOutput("PlotMe")),
column(width = 3,
plotOutput("PlotEthane")),
column(width = 3,
plotOutput("PlotEthylene")),
column(width = 3,
plotOutput("PlotCO")),
column(width = 3,
plotOutput("PlotCO2")),
column(width = 3,
plotOutput("PlotO")),
column(width = 3,
plotOutput("PlotN"))
)
)
),
Спасибо, Джеймс
2 ответа
Просто укажите разделение строк:
shinyUI(
fluidPage(
titlePanel("stack overflow question"),
fluidRow(
column(12,
"",
fluidRow(
column(3,
plotOutput("PlotHy")),
column(width = 3,
plotOutput("PlotMe")),
column(width = 3,
plotOutput("PlotEthane")),
column(width = 3,
plotOutput("PlotEthylene"))
), fluidRow(
column(width = 3,
plotOutput("PlotCO")),
column(width = 3,
plotOutput("PlotCO2")),
column(width = 3,
plotOutput("PlotO")),
column(width = 3,
plotOutput("PlotN"))
)
)
)
))
Одно из решений - сделать это в самом R.
Что-то вроде этого
shinyServer(function(input, output, session) {
output$plot <- renderPlot({
par(mfrow=c(2,2))
h1 <- hist(rnorm(100))
h2 <- hist(rnorm(100))
h3 <- hist(rnorm(100))
h4 <- hist(rnorm(100))
})
})
Добавьте, plotOutput ("plot") куда угодно в ui.R
Похожие вопросы
Новые вопросы
r
R — это бесплатный язык программирования с открытым исходным кодом и программная среда для статистических вычислений, биоинформатики, визуализации и общих вычислений. Пожалуйста, используйте минимально воспроизводимые примеры, которые другие могут запустить с помощью копирования и вставки. Показать желаемый результат. Используйте dput() для данных и укажите все небазовые пакеты с помощью library(). Не вставляйте изображения для данных или кода, вместо этого используйте блоки кода с отступом. Для вопросов по статистике используйте https://stats.stackexchange.com.