大数跨境
0
0

APP界面布局设计

APP界面布局设计 数据分析学习与实践
2019-07-27
2
导读:简介:shinydashboard 是一个基于shiny的包,相当于shiny 的快捷方式,能够让你快速上手

简介:shinydashboard 是一个基于shiny的包,相当于shiny 的快捷方式,能够让你快速上手R可视化交互展示,此前专栏已经对shiny的原理和用法进行了详细阐述,而shinydashboard特点是能够快速写出常规UI框架的页面,如果常规的框架不能满足你,请参考shiny知乎专栏。

先预览一下:



  1. 安装包


shinydashboard 需要Shiny 0.11版本以上 运行:

install.packages("shinydashboard")

  1. 基本框架认识:


界面框架包含3部分:

  • a header(标题栏)

  • a sidebar(侧边栏),

  • a body(展示栏).


以下是页面展示的最小代码集合:

## ui.R ##
library(shinydashboard)

dashboardPage(
dashboardHeader(),
dashboardSidebar(),
dashboardBody()
)

可以尝试一下代码,在R控制台输入shinyApp() 函数

## app.R ##
library(shiny)
library(shinydashboard)

ui <- dashboardPage(
dashboardHeader(),
dashboardSidebar(),
dashboardBody()
)

server <- function(input, output) { }

shinyApp(ui, server)

基本框架如图,够简洁吧。接下来就要填充内容了。

## app.R ##
library(shinydashboard)

ui <- dashboardPage(
dashboardHeader(title = "Basic dashboard"),
dashboardSidebar(),
dashboardBody(
# Boxes need to be put in a row (or column)
fluidRow(
box(plotOutput("plot1", height = 250)),

box(
title = "Controls",
sliderInput("slider", "Number of observations:", 1, 100, 50)
)
)
)
)

server <- function(input, output) {
set.seed(122)
histdata <- rnorm(500)

output$plot1 <- renderPlot({
data <- histdata[seq_len(input$slider)]
hist(data)
})
}

shinyApp(ui, server)

在原有基本框架下,我们用box()函数为展现栏增加所需的元素,例如:plot的图和对应的滑动条。(如图)

接下来,我们为侧边栏增加元素,我们会在原有的侧边栏中增加菜单栏控件,类似Shiny的 tabPanels,控件效果是当你点击其中任意控件,在展示栏中会产生对应变化。

这样的效果需要两部分工作要做。第一,将menuItems 加入菜单栏侧边栏,伴随tabNames.

## Sidebar content
dashboardSidebar(
sidebarMenu(
menuItem("Dashboard", tabName = "dashboard", icon = icon("dashboard")),
menuItem("Widgets", tabName = "widgets", icon = icon("th"))
)
)

在展示栏,tabItem中对应上文控件的tabName:

## Body content
dashboardBody(
tabItems(
# First tab content
tabItem(tabName = "dashboard",
fluidRow(
box(plotOutput("plot1", height = 250)),

box(
title = "Controls",
sliderInput("slider", "Number of observations:", 1, 100, 50)
)
)
),

# Second tab content
tabItem(tabName = "widgets",
h2("Widgets tab content")
)
)
)


当显示“dashboard”,尝试点击其中的控件:


点击“Widgets” 控件:


以上用shinydashiboard制作展示,有点就是快速,简洁,模块化使得制作起来思路非常清晰,学习难度小,片刻即可完成。


【声明】内容源于网络
0
0
数据分析学习与实践
数据分析,数据科学,线性代数,统计学,AI,python,可视化,excel
内容 343
粉丝 0
数据分析学习与实践 数据分析,数据科学,线性代数,统计学,AI,python,可视化,excel
总阅读4
粉丝0
内容343