Frage Zentrieren eines Plots innerhalb eines fluidRow in Shiny


Ich habe eine fluidRow mit einem Plot in einer der Spalten gerendert. Ich würde gerne wissen, wie man den Plot zentriert, wenn ich die Plotbreite manuell über die Funktion renderPlot ({create plot here}, width = ##) angegeben habe (sie nimmt also nicht die volle Breite der Spalte ein) .

Ui.R-Code:

setwd("C:/Users/Nate/Documents/R Working Directory/appFolder/example")
shinyUI(fluidPage(
titlePanel("Test"),
sidebarLayout(
sidebarPanel(
p('stuff here')
  ),
mainPanel(
tabsetPanel(id = 'tabs1',
          tabPanel("main",
                   fluidRow(
                     column(8,
                            plotOutput('plot1')),
                     column(4,
                            p('2nd column'))),
                   fluidRow(
                   p("2nd row of viewing area"))
                   ),

          tabPanel("second",
                   p("main viewing area")),
          tabPanel("third",
                          p('main viewing area')
                   )
))
)
))

Server.R-Code:

shinyServer(function(input, output, session) {
output$text1 = renderText({
paste("text output")
})
output$plot1 = renderPlot({
x = runif(10,0,10)
y = rnorm(10)
plot(x,y)
}, width = 300)
})

18
2017-08-05 19:56


Ursprung


Antworten:


align="center" kann in die aufgenommen werden column Ausdruck (nicht innerhalb plotOutput obwohl). z.B.

fluidRow(
  column(8, align="center",
    plotOutput('plot1')
  )
)

35
2017-10-21 20:59



Du könntest benutzen align="center" als Teil deines plotOutput() Funktion. So würde deine ui.R das mögen:

ui.R

setwd("C:/Users/Nate/Documents/R Working Directory/appFolder/example")
shinyUI(fluidPage(
titlePanel("Test"),
sidebarLayout(
sidebarPanel(
p('stuff here')
  ),
mainPanel(
tabsetPanel(id = 'tabs1',
          tabPanel("main",
                   fluidRow(
                     column(8,
                            plotOutput('plot1',align="center")),
                     column(4,
                            p('2nd column'))),
                   fluidRow(
                   p("2nd row of viewing area"))
                   ),

          tabPanel("second",
               p("main viewing area")),
      tabPanel("third",
                      p('main viewing area')
                   )
))
)
))

-3
2017-08-07 17:57