網(wǎng)站制作NEWS
Shiny for Python APP開(kāi)發(fā)
Shiny for Python與R Shiny在功能和函數(shù)上有類(lèi)似之處,但APP結(jié)構(gòu)和函數(shù)命名存在差異。通過(guò)一個(gè)簡(jiǎn)單的APP示例,我們可以了解如何從CSV文件讀取預(yù)處理的墨爾本市房?jī)r(jià)數(shù)據(jù),并繪制房?jī)r(jià)分布圖。用戶(hù)可以選擇按房?jī)r(jià)原值或?qū)?shù)變換后的值來(lái)繪制分布圖,APP輸出用戶(hù)選擇的顯示結(jié)果以及對(duì)應(yīng)的分布圖。
具體實(shí)現(xiàn)可參考app.py源碼,通過(guò)在線(xiàn)體驗(yàn)網(wǎng)址進(jìn)行觀(guān)察。運(yùn)行效果顯示:
1、原量綱繪制,房?jī)r(jià)分布呈現(xiàn)明顯的右偏狀態(tài)。
2、經(jīng)過(guò)對(duì)數(shù)轉(zhuǎn)換后,房?jī)r(jià)接近正態(tài)分布。
此示例展示了Python數(shù)據(jù)分析場(chǎng)景,涉及使用Pandas、Numpy操作數(shù)據(jù),以及Matplotlib、Seaborn進(jìn)行可視化。Shiny則增強(qiáng)了APP的交互能力。
Shiny for Python與R Shiny的主要區(qū)別在于:
1、Shiny for Python的APP以單一形式啟動(dòng),而R Shiny有小規(guī)模和大規(guī)模兩種形式,分別對(duì)應(yīng)app.R、global.R、ui.R、server.R等程序文件。
2、所有UI函數(shù)在shiny.ui模塊下,通過(guò)ui.XXX引用,如ui.page_fluid()、ui.layout_sidebar()等。
3、輸入在ui.input_XXX()函數(shù)中定義,XXX代表各種輸入類(lèi)型,如ui.input_radio_buttons()定義了選擇房?jī)r(jià)表示方式的Radio按鈕。
4、輸出在ui.output_XXX()中定義,如ui.output_text_verbatim()或ui.output_plot(),服務(wù)器端則定義相應(yīng)的渲染函數(shù)。
5、Shiny for Python使用函數(shù)修飾符定義輸出變量和渲染函數(shù),與R Shiny相比,此步驟在代碼中體現(xiàn)為“@”后的部分。
具體組件的使用方法,可參考Shiny for Python的在線(xiàn)文檔、API引用說(shuō)明和在線(xiàn)實(shí)例。深入了解函數(shù)修飾符的用法,有助于更高效地構(gòu)建交互式APP。
Shiny for Python會(huì)啟動(dòng)一個(gè)Python服務(wù)器進(jìn)程來(lái)運(yùn)行APP,通常通過(guò)隨機(jī)分配的端口或Shiny Server的端口(如3838)訪(fǎng)問(wèn)。
多重隨機(jī)標(biāo)簽