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. 开源分布式任务调度平台Cuckoo-Schedule

    1         概述 1.1      平台概述 Cuckoo-Schedule是基于Quartz-Schedule的轻量级任务调度框架,具有易学习.易上手.开发高效稳定的特点.Demo地址:ht ...

  2. vue2.0 组件通信

    组件通信: 子组件要想拿到父组件数据 props 子组件不允许直接给父级的数据, 赋值操作如果想更改,父组件每次穿一个对象给子组件, 对象之间引用. 例子: <script> window ...

  3. JS判断PC和移动端设备

    1.方法一 function IsPC() { var userAgentInfo = navigator.userAgent; var Agents = ["Android", ...

  4. hdu4463 Outlets 最小生成树

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4463 很裸的一道题目,稍微处理一下输入即可 代码: #include<iostream> ...

  5. javaWeb基础核心之一Servlet

    既然是做JAVA开发的,先从一些基本的整理起来,算是知识回顾,加深记忆. 第一篇想到那理到哪,可能有点乱,不是太会排版,见谅,估计可能也就我自己看的懂. servlet在百度百科上的定义是这样的: S ...

  6. Python ORM框架之 Peewee入门

    之前在学Django时,发现它的模型层非常好用,把对数据库的操作映射成对类.对象的操作,避免了我们直接写在Web项目中SQL语句,当时想,如果这个模型层可以独立出来使用就好了,那我们平台操作数据库也可 ...

  7. android 本地数据库sqlite的封装

    单机android   sqlite数据库的实现,这个数据库可与程序一起生成在安装包中 一.下载sqlite3.exe文件 二.运行 cmd 转到sqlite3.exe 所在目录  运行 sqlite ...

  8. VR全景智慧城市——商家的需求才是全景市场的核心竞争力

    消费者视角痛点:比如酒店消费行业,很多消费者在预订酒店过程中,都遇到过这样的场景:网上照片里酒店房间看着宽敞明亮,格调不凡,感觉非常喜欢,等真正推开房门插上房卡一看,却大失所望.在酒店行业,网上照片和 ...

  9. 使用VideoView开发视频总结

    一.VideoView及其相关组件总结 在Android中,播放视频有2种方式,第一种方式是使用MediaPlayer结合SurfaceView来播放,通过MediaPlayer来控制视频的播放.暂停 ...

  10. Python教程(1.2)——Python交互模式

    上一节已经说过,安装完Python,在命令行输入"python"之后,如果成功,会得到类似于下面的窗口: 可以看到,结尾有3个>符号(>>>).>&g ...