前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >shiny入门课【3.布局指引】

shiny入门课【3.布局指引】

作者头像
用户2936342
发布2019-06-18 18:50:47
1.3K0
发布2019-06-18 18:50:47
举报
文章被收录于专栏:nummynummy

概览

shiny提供了几种基本的布局:

  • 最简单的布局是左侧边栏右主页的布局。
  • 使用栅栏自定义布局
  • 使用 tabsetPanel()navlistPanel()函数实现分段布局。
  • 使用 navbarPage()函数实现头部导航布局。

侧边栏布局

示例如下:

代码语言:javascript
复制
ui <- fluidPage(

  titlePanel("Hello Shiny!"),

  sidebarLayout(

    sidebarPanel(
      sliderInput("obs", "Number of observations:",  
                  min = 1, max = 1000, value = 500)
    ),

    mainPanel(
      plotOutput("distPlot")
    )
  )
)

网格布局

使用网格布局实现侧边栏效果:

代码语言:javascript
复制
ui <- fluidPage(

  titlePanel("Hello Shiny!"),

  fluidRow(
  
    column(4,
      wellPanel(
        sliderInput("obs", "Number of observations:",  
                    min = 1, max = 1000, value = 500)
      )       
    ),

    column(8,
      plotOutput("distPlot")
    )
  )

标签页

标签页也可以通过position来指定展示位置。

代码语言:javascript
复制
ui <- fluidPage(

  titlePanel("Tabsets"),

  sidebarLayout(
    
    sidebarPanel(
      # Inputs excluded for brevity
    ),
  
    mainPanel(
      tabsetPanel(
        tabPanel("Plot", plotOutput("plot")), 
        tabPanel("Summary", verbatimTextOutput("summary")), 
        tabPanel("Table", tableOutput("table"))
      )
    )
  )
)

Navlists

代码语言:javascript
复制
ui <- fluidPage(
  
  titlePanel("Application Title"),
  
  navlistPanel(
    "Header A",
    tabPanel("Component 1"),
    tabPanel("Component 2"),
    "Header B",
    tabPanel("Component 3"),
    tabPanel("Component 4"),
    "-----",
    tabPanel("Component 5")
  )
)

导航栏

通过navbarPage()函数可以实现导航栏效果,每个页面都是单独的。

代码语言:javascript
复制
ui <- navbarPage("My Application",
  tabPanel("Component 1"),
  tabPanel("Component 2"),
  tabPanel("Component 3")
)

二级导航

使用navbarMenu()函数实现下拉菜单。

代码语言:javascript
复制
ui <- navbarPage("My Application",
  tabPanel("Component 1"),
  tabPanel("Component 2"),
  navbarMenu("More",
    tabPanel("Sub-Component A"),
    tabPanel("Sub-Component B"))
)

自定义样式

shiny支持自定义样式,将样式文件放在www目录即可。

代码语言:javascript
复制
ui <- fluidPage(theme = "bootstrap.css",
                  
  titlePanel("My Application")
  
  # application UI              
)
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019.06.17 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 概览
  • 侧边栏布局
  • 网格布局
  • 标签页
  • Navlists
  • 导航栏
  • 二级导航
  • 自定义样式
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档