R Shiny 中文文档2.3-界面与HTML

八月 15, 2014 R, web开发, 可视化, 编程开发 por DeanGao

这节讲讲如何用HTML相关的技术来定制化自己的Shiny应用程序中的UI。其实你会慢慢地发现,其实在Shiny的ui.R中包含的就是HTML的文档,只是这些底层的转换你没有必要了解罢了,如果你能清楚的指导的话,你可以更好地开发你的Shiny应用。在ui.R中最外层函数是shinyUI,它包含着一系列的函数来返回一些HTML内容,所以你没必要知道它具体是怎么做到的。 下面的这个例子能很好的展示刚才的问题:


转载请注明出处:网址+邮箱:
例如: 转自 
http://www.iwhgao.com (gaowenhui2012@gmail.com)


还有:

  • tags

其实返回的都是被一些HTML 标签tags包裹着的内容,在shiny模块中,shiny::tags包含110个函数,每个函数都对应着HTML5中的一些特定的标签,有过HTML编程基础的应该都能看懂。但要注意的一点是,shiny中得有些tag和R内建的一些函数名相冲突,所以这是需要用tags$后面再接具体的标签来加以区分。

那么如何给标签加相应的属性呢,像id class等,看下面的这个例子:

如何实现标签间的嵌套呢,即子标签:

同时也可以使用withTags函数来省去前面的tags$ :

  • 有条件的设置标签的属性

  • list函数可以用来创建一系列的HTML标签:

  • 原始的HTML内容

Shiny中也允许包含一些原始的HTML内容(利用HTML函数包裹),看下面的这个例子:

 


 

 

如何用纯HTML代码来创建Shiny应用程序的客户端界面呢?首先构建如下目录结构:

再在index.html中完全利用HTML语言定义界面:

其中server.R和之前的一样, 你可能会问那Shiny如何去识别input和output的信息呢?这里有两点要注意:

  1.   表单元素是通过name这个参数来和server.R中得output$对应起来的
  2. 其它输出类型的元素是通过id来对应的

当然一些class等都要和Shiny的css中的属性相对应样式才能起作用。

原创文章,转载请注明: 转载自deangao's blog
本文链接地址: R Shiny 中文文档2.3-界面与HTML