通過(guò)Hello Shiny中的例子,我們用shiny包創(chuàng)建了一個(gè)簡(jiǎn)單的應(yīng)用正压。下面我們會(huì)針對(duì)創(chuàng)建UI的結(jié)構(gòu)進(jìn)行拆解欣福,在最簡(jiǎn)單的固定的結(jié)構(gòu)中,可以逐漸加入文字焦履、圖片等網(wǎng)頁(yè)元素豐富應(yīng)用拓劝。
上文提到shiny app 由兩部分組成:用戶(hù)交互腳本(ui.R) 和 服務(wù)器腳本(server.R)。下面的代碼是構(gòu)成一個(gè)shiny app的最小結(jié)構(gòu)嘉裤。一個(gè)空的App郑临,展現(xiàn)的結(jié)果是一個(gè)空的UI。
一屑宠、布局
在ui.R中厢洞,我們用了fluidPage生成了能根據(jù)瀏覽器的尺寸自動(dòng)調(diào)整的展示界面,可以在fluidPage中添加元素布局應(yīng)用。
下面的代碼通過(guò)fluidPage創(chuàng)建了一個(gè)標(biāo)題欄和一個(gè)工具欄躺翻,工具欄包含了側(cè)邊欄和主面板丧叽。
titlePanel和sidebarLayout是fluidPage中兩個(gè)最主要的元素,分別是標(biāo)題欄和工具欄公你。sidebarLayout通常由以下兩部分組成:sidebarPanel和mainPanel蠢正。
sidebarPanel默認(rèn)在左側(cè),可以通過(guò)position = "right"把它放在右側(cè)省店。
titlePanel和sidebarLayout搭建了shiny app的基本布局,也可以創(chuàng)建更多進(jìn)階的布局笨触。例如navbarPage可以創(chuàng)建有導(dǎo)航欄的多個(gè)插頁(yè)的UI懦傍,fluidRow和column可以搭建帶網(wǎng)格的布局,更多內(nèi)容可以參考官方教學(xué)Shiny Application Layout Guide芦劣。
二粗俱、HTML內(nèi)容
常用的Shiny HTML 標(biāo)簽函數(shù):
三、頁(yè)眉
我們來(lái)看下h1-h6文字居中的代碼和效果:
四虚吟、格式化文本
讓我們通過(guò)一個(gè)小例子寸认,充分理解和運(yùn)用第二部分的HTML標(biāo)簽函數(shù)。效果中圖片的鏈接為bigorb.png串慰,圖片放在www的文件夾中偏塞,文件夾存儲(chǔ)在ui.R和server.R的同一級(jí)目錄下。
UI與腳本如下邦鲫,可以對(duì)照下ui.R在處理HTML標(biāo)簽函數(shù)上的寫(xiě)法和最終展示效果灸叼。
在這一章中,主要是用HTML標(biāo)簽函數(shù)庆捺,對(duì)文字和圖片的UI展示進(jìn)行了處理古今。官方教學(xué)鏈接戳這里:Build a user-interface