Shiny-cheatsheet

                                                                                                                 作者:贾慧   作品来源:百度百科

.炫酷外观

皮肤skins

仪表盘包括很多的主题或者皮肤。默认的为blue蓝色,此外,还有其他的颜色,包括:black黑色,purple紫色,green绿色,red红色,yellow黄色等。可以使用dashboardPage(skin = "blue"), dashboardPage(skin = "black")等进行设置。

ui <- dashboardPage(skin = "black",

dashboardHeader(title = "Value boxes"),

dashboardSidebar(),

dashboardBody()

)

注销面板logout panel

(这需要shinydashboard 0.5.1或更高版本显示。)当shinydashboard应用运行shiny服务器之前,需要经过身份验证的用户才能登录,面板在右上角显示用户名和注销链接。

注销面板与shinydashboard更很好地集成。正如你所看到的在上面的截图中,默认注销面板部分掩盖了下拉菜单图标。我们可以添加一个用户面板与动态UI(在服务器上生成)和隐藏默认注销面板,如下所示:

程序:

library(shiny)

library(shinydashboard)

library(httr)

library(jsonlite)

library(data.table)

library(dplyr)

library(rvest)

library(magrittr)

ui <- dashboardPage(

dashboardHeader(

title = "SSP logout",

dropdownMenu(type = "messages", badgeStatus = "success",

messageItem("Message 1", "Content of a message.")

)

),

dashboardSidebar(

# Custom CSS to hide the default logout panel

tags$head(tags$style(HTML('.shiny-server-account { display: none; }'))),

# The dynamically-generated user panel

uiOutput("userpanel"),

sidebarMenu(

menuItem("Menu item 1", icon = shiny::icon("calendar"))

)

),

dashboardBody()

)

server <- function(input, output, session) {

# Generate the dynamic UI for the logout panel

output$userpanel <- renderUI({

# session$user is non-NULL only in authenticated sessions

if (!is.null(session$user)) {

sidebarUserPanel(

span("Logged in as ", session$user),

subtitle = a(icon("sign-out"), "Logout", href="__logout__"))

}

})

}

shinyApp(ui, server)

其他程序:

library(shiny)

library(shinydashboard)

library(httr)

library(jsonlite)

library(data.table)

library(dplyr)

library(rvest)

library(magrittr)

header <- dashboardHeader(title="CYBER Dashboard")

sidebar <- dashboardSidebar()

body <- dashboardBody(

fluidPage(

fluidRow(

a(href="http://isc.sans.org/",

target="_blank", uiOutput("infocon")),

a(href="http://www.symantec.com/security_response/threatcon/",

target="_blank", uiOutput("threatcon")),

a(href="http://webapp.iss.net/gtoc/",

target="_blank", uiOutput("alertcon"))

)

)

)

ui <- dashboardPage(header, sidebar, body, skin="black")

server <- function(input, output) {

output$infocon <- renderUI({

infocon_url <- "https://isc.sans.edu/api/infocon?json"

infocon <- fromJSON(content(GET(infocon_url)))

valueBox(

value="Yellow",

subtitle="SANS Infocon",

icon=icon("bullseye"),

color=ifelse(infocon$status=="test", "blue", infocon$status)

)

})

output$threatcon <- renderUI({

pg <- html("http://www.symantec.com/security_response/#")

pg %>%

html_nodes("div.colContentThreatCon > a") %>%

html_text() %>%

extract(1) -> threatcon_text

tcon_map <- c("green", "yellow", "orange", "red")

names(tcon_map) <- c("Level 1", "Level 2", "Level 3", "Level 4")

threatcon_color <- unname(tcon_map[gsub(":.*$", "", threatcon_text)])

threatcon_text <- gsub("^.*:", "", threatcon_text)

valueBox(

value=threatcon_text,

subtitle="Symantec ThreatCon",

icon=icon("tachometer"),

color=threatcon_color

)

})

output$alertcon <- renderUI({

pg <- html("http://xforce.iss.net/")

pg %>%

html_nodes(xpath="//td[@class='newsevents']/p") %>%

html_text() %>%

gsub(" -.*$", "", .) -> alertcon_text

acon_map <- c("green", "blue", "yellow", "red")

names(acon_map) <- c("AlertCon 1", "AlertCon 2", "AlertCon 3", "AlertCon 4")

alertcon_color <- unname(acon_map[alertcon_text])

valueBox(

value=alertcon_text,

subtitle="IBM X-Force",

icon=icon("warning"),

color=alertcon_color

)

})

}

shinyApp(ui, server)

CSS

You can add custom CSS to your app by creating a www/ subdirectory to your app and adding a CSS file there. Suppose, for example, you want to change the title font of your dashboard to the same font as the rest of the dashboard, so that it looks like this:

To do this, first create a file named www/custom.css with the following:

.main-header .logo {

font-family: "Georgia", Times, "Times New Roman", serif;

font-weight: bold;

font-size: 24px;

}

Then refer to that CSS file from the UI of your app:

## ui.R ##

dashboardPage(

dashboardHeader(title = "Custom font"),

dashboardSidebar(),

dashboardBody(

tags$head(

tags$link(rel = "stylesheet", type = "text/css", href = "custom.css")

)

)

)

A second way to include CSS is to put it directly in the UI code for your app:

## ui.R ##

dashboardPage(

dashboardHeader(title = "Custom font"),

dashboardSidebar(),

dashboardBody(

tags$head(tags$style(HTML('      .main-header .logo {

font-family: "Georgia", Times, "Times New Roman", serif;

font-weight: bold;

font-size: 24px;

}

')))  )

)

4.4长标题

In some cases, the title that you wish to use won’t fit in the default width in the header bar. You can make the space for the title wider with the titleWidth option. In this example, we’ve increased the width for the title to 450 pixels, and also set the background color of the title area (using custom CSS) to be the same as the rest of the header bar.

shinyApp(

ui = dashboardPage(

dashboardHeader(

title = "Example of a long title that needs more space",

titleWidth = 450

),

dashboardSidebar(),

dashboardBody(

# Also add some custom CSS to make the title background area the same

# color as the rest of the header.

tags$head(tags$style(HTML('        .skin-blue .main-header .logo {

}

.skin-blue .main-header .logo:hover {

background-color: #3c8dbc;

}

')))    )

),

server = function(input, output) { }

)

侧边栏宽度sidebar width

To change the width of the sidebar, you can use the width option. This example has a wider title and sidebar:

shinyApp(

ui = dashboardPage(

dashboardHeader(

title = "Title and sidebar 350 pixels wide",

titleWidth = 350

),

dashboardSidebar(

width = 350,

sidebarMenu(

menuItem("Menu Item")

)

),

dashboardBody()

),

server = function(input, output) { }

)

R语言包翻译——翻译的更多相关文章

  1. R语言包在linux上的安装等知识

    有关install.packages()函数的详见:R包 package 的安装(install.packages函数详解) R的包(package)通常有两种:1 binary package:这种 ...

  2. R语言 包

    R语言包 R语言的包是R函数,编译代码和样本数据的集合. 它们存储在R语言环境中名为"library"的目录下. 默认情况下,R语言在安装期间安装一组软件包. 随后添加更多包,当它 ...

  3. R语言——包的添加和使用

    R是开源的软件工具,很多R语言用户和爱好者都会扩展R的功能模块,我们把这些模块称为包.我们可以通过下载安装这些已经写好的包来完成我们需要的任务工作. 包下载地址:https://cran.r-proj ...

  4. R语言包的安装

    pheatmap包的安装 1: 首先R语言的安装路径里面最好不要有中文路径 2: 在安装其他依存的scales和colorspace包时候要关闭防火墙 错误提示: 试开URL'https://mirr ...

  5. Windows下使用Rtools编译R语言包

    使用devtools安装github中的R源代码时,经常会出各种错误,索性搜了一下怎么在Windows下直接打包,网上的资料也是参差不齐,以下是自己验证通过的. 一.下载Rtools 下载地址:htt ...

  6. r语言 包说明

    [在实际工作中,每个数据科学项目各不相同,但基本都遵循一定的通用流程.具体如下]   [下面列出每个步骤最有用的一些R包] 1.数据导入以下R包主要用于数据导入和保存数据:feather:一种快速,轻 ...

  7. R语言包相关命令

    R的包(package)通常有两种:1 binary package:这种包属于即得即用型(ready-to-use),但是依赖与平台,即Win和Linux平台下不同.2 Source package ...

  8. R语言包翻译

    Shiny-cheatsheet 作者:周彦通 1.安装 install.packages("shinydashboard")  2.基础知识 仪表盘有三个部分:标题.侧边栏,身体 ...

  9. R语言包_dplyr_1

    有5个基础的函数: - filter - select - arrange - mutate - summarise - group_by (plus) 可以和databases以及data tabl ...

随机推荐

  1. luogu P1007 独木桥

    序:难度标签是普及-,便觉得应该非常简单,结果发现有一个弯半天没绕过来,所以认为这道题对于第一次做的人来讲还是很是比较有意义的. 题目描述: 长度为len的桥上有n个士兵,你不知道他们的初始方向.已知 ...

  2. 【exp/imp】将US7ASCII字符集的dmp文件导入到ZHS16GBK字符集的数据库中

    [exp/imp]将US7ASCII字符集的dmp文件导入到ZHS16GBK字符集的数据库中 1.1  BLOG文档结构图 1.2  前言部分 1.2.1  导读和注意事项 各位技术爱好者,看完本文后 ...

  3. 北京赛车PK10 幸运飞艇 重庆时时彩 PC蛋蛋 快乐8 福彩3D 十分彩

    QQ:1395239152 2017-3.14最新修复完整运营版时时彩源码PC+手机版本功能齐全 重庆时时彩是一种经中国国家财政部批准,重庆市福利彩票发行中心承销的福彩快开彩票,2元1注,分为&quo ...

  4. Linux文件属性及如何修改文件属性

    ls -al:显示文件的文件名与相关属性并列出所有文件详细的权限与属性 dr-xr-x---.   7       root     root       4096       Apr3 12:31 ...

  5. 工厂模式(Factory)和抽象工厂模式(Abstract Factory)

    一.工厂模式(Factory):通过让子类决定该创建的对象是什么,来达到将对象创建的过程封装的目的,工厂方法让类的实例化推迟到子类 (1)涉及角色:抽象产品,具体产品,抽象创建者,具体创建者.     ...

  6. spring boot --- 初级体验

    Spring boot的介绍我就不多说了,网上可以自己看一下. 它的优点就是:快!适合小白,没有复杂的配置文件. 缺点也很明显:坑有些多, 文档略少,报错有时不知道该如何处理. 下面做个最简单的入门: ...

  7. Linux 下按时间顺序批量删除文件

    ls -lrt| awk '{print $9}'| head -n 10 | xargs rm -rf 1.文件按时间排序: 2.获取文件名字: 3.取前10个文件 4.删除文件

  8. 《Android进阶》之第四篇 ViewPagerIndicator的使用

    1.先将这个开源框架下载到本地: Administrator@QH-20141231RFQJ /d/hixin $ cd ViewPagerIndicator/ Administrator@QH-20 ...

  9. Java计算1-100的和(要求尽量考虑代码优化)

    1.递归算法 public static void main(String[] args) { System.out.println(add(1)); } private static int add ...

  10. 深入解析java String中getBytes()的编码问题

    转载请注明出处:http://www.cnblogs.com/Joanna-Yan/p/6900536.html Java服务器后台在和Android端App通信时,遇到了两端关于用MD5加密同一包含 ...