Shiny包搭建UI - 2

通过Hello Shiny中的例子,我们用shiny包创建了一个简单的应用。下面我们会针对创建UI的结构进行拆解,在最简单的固定的结构中,可以逐渐加入文字、图片等网页元素丰富应用。

上文提到shiny app 由两部分组成:用户交互脚本(ui.R) 和 服务器脚本(server.R)。下面的代码是构成一个shiny app的最小结构。一个空的App,展现的结果是一个空的UI。


一、布局

在ui.R中,我们用了fluidPage生成了能根据浏览器的尺寸自动调整的展示界面,可以在fluidPage中添加元素布局应用。

下面的代码通过fluidPage创建了一个标题栏和一个工具栏,工具栏包含了侧边栏和主面板。

Shiny包搭建UI - 2_第1张图片
Shiny包搭建UI - 2_第2张图片

titlePanelsidebarLayoutfluidPage中两个最主要的元素,分别是标题栏和工具栏。sidebarLayout通常由以下两部分组成:sidebarPanelmainPanel

sidebarPanel默认在左侧,可以通过position = "right"把它放在右侧。

Shiny包搭建UI - 2_第3张图片
Shiny包搭建UI - 2_第4张图片

titlePanelsidebarLayout搭建了shiny app的基本布局,也可以创建更多进阶的布局。例如navbarPage可以创建有导航栏的多个插页的UI,fluidRowcolumn可以搭建带网格的布局,更多内容可以参考官方教学Shiny Application Layout Guide。


二、HTML内容

常用的Shiny HTML 标签函数:

三、页眉

Shiny包搭建UI - 2_第5张图片

我们来看下h1-h6文字居中的代码和效果:

Shiny包搭建UI - 2_第6张图片
Shiny包搭建UI - 2_第7张图片

四、格式化文本

让我们通过一个小例子,充分理解和运用第二部分的HTML标签函数。效果中图片的链接为bigorb.png,图片放在www的文件夹中,文件夹存储在ui.R和server.R的同一级目录下。

UI与脚本如下,可以对照下ui.R在处理HTML标签函数上的写法和最终展示效果。

Shiny包搭建UI - 2_第8张图片
Shiny包搭建UI - 2_第9张图片

在这一章中,主要是用HTML标签函数,对文字和图片的UI展示进行了处理。官方教学链接戳这里:Build a user-interface

你可能感兴趣的:(Shiny包搭建UI - 2)