內(nèi)容來源:2017年5月20日,樂逗游戲高級(jí)數(shù)據(jù)分析師在“第十屆中國R會(huì)議軟件工具專場(chǎng)”進(jìn)行《HTTPS最佳安全實(shí)踐》演講分享。IT大咖說作為獨(dú)家視頻合作方,經(jīng)主辦方和講者審閱授權(quán)發(fā)布。
本演講將介紹如何利用CSS對(duì)shiny頁面進(jìn)行個(gè)性化設(shè)計(jì)及在網(wǎng)頁中嵌入視頻;并通過一個(gè)詳細(xì)案例介紹了利用htmlwidgets包開發(fā)HTML控件,基于D3.JS庫創(chuàng)建簡(jiǎn)單的交互桑基圖,包括控件創(chuàng)建、函數(shù)修改、數(shù)據(jù)調(diào)用及與shiny結(jié)合的演示。
嘉賓演講視頻地址:http://t.cn/Ro89hHa
利用css對(duì)Shiny頁面優(yōu)化
添加CSS的三種方式
CSS為HTML文檔提供了一種復(fù)雜外觀的樣式語言。由于Shiny應(yīng)用程序用戶界面(UI)是一個(gè)HTML文檔,可以使用CSS來控制Shiny應(yīng)用程序的外觀。
要用CSS美化應(yīng)用程序,常用的有三種方式。
1、創(chuàng)建一個(gè)樣式表,把它放到www目錄文件下:在應(yīng)用的當(dāng)前目錄下,創(chuàng)建www文件夾,把CSS樣式放在www目錄里。對(duì)Shiny自帶的“03_reactivity”例子添加個(gè)性化樣式。
2、把CSS添加到HTML標(biāo)題中。
3、將樣式直接添加到HTML控件標(biāo)簽中:直接在用戶界面中的單個(gè)HTML元素中添加CSS樣式,優(yōu)先級(jí)高于其他的CSS源。
給應(yīng)用增加登錄窗口
免費(fèi)的Shiny沒有權(quán)限控制,如果掌握一些基本的CSS知識(shí),就可以輕易地給應(yīng)用添加一個(gè)登錄窗口。
利用htmlwidgets包創(chuàng)建HTML控件
下載d3plus.zip
利用htmlwidgets包調(diào)用d3plus.js庫,生成交互式圖表。
創(chuàng)建新包
創(chuàng)建一個(gè)新包,包名為myd3plus,將會(huì)生成treemap.R、treemap.ymal和treemap.js三個(gè)文件。
創(chuàng)建lib目錄,存放js文件
將下載的d3plus.zip解壓,把里面的文件d3.js和d3plus.js拷貝至htmlwidgets/lib目錄下。
修改treemap.ymal的文件配置
修改treemap.ymal的文件配置,該文件是用來設(shè)置控件依賴的js庫。
Stylesheet是用來指定特定的CSS格式,此處不添加。
修改treemap.R的文件配置
在treemap.R中,刪除message=message命令,增加data=data命令。
安裝包
運(yùn)行devtools::install()對(duì)myd3plus包進(jìn)行安裝。
運(yùn)行treemap函數(shù)
構(gòu)建簡(jiǎn)單數(shù)據(jù)框,運(yùn)行treemap函數(shù),查看效果。
與Rmarkdown結(jié)合
利用htmlwidgets包創(chuàng)建的控件,很容易與Rmarkdown和Shiny結(jié)合。
我的分享到此結(jié)束,謝謝大家!