R语言:创建web界面

Python018

R语言:创建web界面,第1张

R语言使用shiny包创建web界面

使用 shinydashboard 包和 shinytheme ,美化界面样式,设置界面主题,提升界面整体水平。

Shiny界面图库

shinydashboard

shinytheme界面主题

shinydashboard包创建的基础界面样式分为三个板块:标题,侧边栏,主界面。

shiny包支持 recharts 包的使用,可以创建界面的交互式图形

shinyapps网址

Rstudio推出了 shiny shinyapps 两个包,shiny可以帮助我们更快更好的开发一些app,然后shinyapps可以提供了一个免费的云服务器,供我们发布app。

以知乎 用R语言分析NBA球员得分 分析结果为主题,做web界面展示。

侧边栏设置两个选项:datas display和players' score,点击不同的选项,展示对应的内容。

datas display界面展现3个数据框:NBA,Away team,Host team。通过show 10/25/50 entries 等控制页面展示数值的条数;右上角search实现数值的搜索功能(使用DT包实现)。

players' score展示主队、客队球员得分情况。使用ggplot2包绘制客队各个球员的得分情况

使用 recharts 包绘制主队各个球员的得分情况,recarts包实现图形交互式展现。

建立完UI界面后,设置对应的数值,表格,图形,使web界面变成动态的界面。

挣扎了好久终于把界面创建成功了,shiny的初步学习先画个句号。

文件包含三列数据:来源地、目的地、及call数量

我们都知道可视化网络,需要准备两个数据文件:

接下来基于此数据集准备点和边列表文件

至此,简单的边和点列表已经准备好了,我们接下来通过几个R包来可视化下

这是R中绘制网络图的一个基本R包,这里主要用到 graph_from_data_fram() 函数。更多关于此包绘图的细节可参考这个帖子 Network Analysis and Visualization with R and igraph (kateto.net) ,介绍的十分详细。

这两个R包目前相对比较流行,可以对network数据进行操作和可视化

ggraph包还有更多好玩的样式,详情参考: https://www.data-imaginist.com/2017/ggraph-introduction-layouts/ , 根据个人的数据去选择最合适的展现形式即可。

这两款R包都是基于浏览器的JavaScript可视化库,用于交互式的展示图形,这里我们还用到刚才的示例数据来展示。

常用来快速创建交互式桑基图、和其它种类的网络图等,核心的函数即 forceNetwork()

制作桑基图

该包绘制更加方便,

我们也可以为网络中的边添加方向,用到 layout_with_fr 方式