将一个情节集中在一个流动的流体中

时间:2014-08-05 19:56:08

标签: r plot shiny centering

我有一个fluidRow,其中一个列在一个列中呈现。我想知道当我通过renderPlot({create plot here},width = ##)函数手动指定绘图宽度时如何使绘图居中(因此,它不会占用整个宽度柱)。

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')),
                     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代码:

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)
})

2 个答案:

答案 0 :(得分:46)

align="center"可以包含在column表达式中(不在plotOutput内)。 e.g。

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

答案 1 :(得分:-4)

您可以将align="center"用作plotOutput()功能的一部分。所以你的ui.R想要这样:

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')
                   )
))
)
))