利用css對(duì)shiny頁(yè)面優(yōu)化及利用htmlwidgets包創(chuàng)建HTML控件

內(nèi)容來(lái)源:2017年5月20日,樂(lè)逗游戲高級(jí)數(shù)據(jù)分析師在“第十屆中國(guó)R會(huì)議軟件工具專場(chǎng)”進(jìn)行《HTTPS最佳安全實(shí)踐》演講分享。IT大咖說(shuō)作為獨(dú)家視頻合作方,經(jīng)主辦方和講者審閱授權(quán)發(fā)布。

本演講將介紹如何利用CSS對(duì)shiny頁(yè)面進(jìn)行個(gè)性化設(shè)計(jì)及在網(wǎng)頁(yè)中嵌入視頻;并通過(guò)一個(gè)詳細(xì)案例介紹了利用htmlwidgets包開(kāi)發(fā)HTML控件,基于D3.JS庫(kù)創(chuàng)建簡(jiǎn)單的交互?;鶊D,包括控件創(chuàng)建、函數(shù)修改、數(shù)據(jù)調(diào)用及與shiny結(jié)合的演示。

嘉賓演講視頻地址:http://t.cn/Ro89hHa

利用css對(duì)Shiny頁(yè)面優(yōu)化

添加CSS的三種方式

CSS為HTML文檔提供了一種復(fù)雜外觀的樣式語(yǔ)言。由于Shiny應(yīng)用程序用戶界面(UI)是一個(gè)HTML文檔,可以使用CSS來(lái)控制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沒(méi)有權(quán)限控制,如果掌握一些基本的CSS知識(shí),就可以輕易地給應(yīng)用添加一個(gè)登錄窗口。


利用htmlwidgets包創(chuàng)建HTML控件

下載d3plus.zip

利用htmlwidgets包調(diào)用d3plus.js庫(kù),生成交互式圖表。

創(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的文件配置,該文件是用來(lái)設(shè)置控件依賴的js庫(kù)。

Stylesheet是用來(lái)指定特定的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é)束,謝謝大家!

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容