Shinyの背景に画像を設定


shinyWidgetssetBackgroundImageを使えば良いらしい。画像はwwwというディレクトリに配置しておいて、ファイル名のみを指定しないといけない。

library(shiny)
library(dplyr)
library(lubridate)
library(stringr)
library(leaflet)
library(ggplot2)
library(plotly)
library(shinyWidgets)

# データの定義
X <- read.csv(file="yockney-et-al-data-for-poned1439135.csv")
head(X)
X <- X %>%
  mutate(NZDT_datetime=dmy_hm(NZDT_datetime)) %>%
  arrange(NZDT_datetime) %>%
  mutate(Latitude=if_else(Latitude>0, -1*Latitude, Latitude)) %>%
  mutate(Animal.code=str_to_upper(Animal.code), Season=str_to_upper(Season))
head(X)
X$popup <- paste("HDOP=", X$HDOP, sep="")
Animal.code <- unique(X$Animal.code) 

# UIの定義
ui <- fluidPage(
  a(titlePanel("possum-foraging"), href="https://data.world/nz-govt/possum-foraging"),
  setBackgroundImage(src="Possum.jpg"),
  sidebarLayout(
    sidebarPanel=sidebarPanel(
      selectInput(inputId="Animal.code", label="Animal.code", choices=Animal.code, selected=Animal.code[1])
    ),
    mainPanel=mainPanel(
      fluidRow(
        column(12, leafletOutput(outputId="leaflet"))
      ),
      fluidRow(
        column(6, plotlyOutput(outputId="histogram")),
        column(6, plotlyOutput(outputId="linepoint"))
      )
    )
  )
)

# サーバの定義
server <- function(input, output, session){
  output$leaflet <- renderLeaflet({
    x <- X %>% filter(Animal.code==input$Animal.code)
    leaflet() %>% addTiles() %>%
      addPolylines(lng=x$Longitude, lat=x$Latitude, weight=1, popup=input$Animal.code, color="blue", opacity=0.5) %>%
      addCircles(lng=x$Longitude, lat=x$Latitude, radius=0.1, popup=x$popup, color="blue", opacity=0.5)
  })
  output$histogram <- renderPlotly({
    x <- X %>% filter(Animal.code==input$Animal.code)
    p <- ggplot(data=x, mapping=aes(x$HDOP)) + geom_histogram(fill="blue", alpha=1.0) + xlab(label="HDOP")
    ggplotly(p)
  })
  output$linepoint <- renderPlotly({
    x <- X %>% filter(Animal.code==input$Animal.code)
    p <- ggplot(x, aes(x=NZDT_datetime, y=HDOP)) + geom_line(color="blue", size=0.1) + geom_point(color="blue", size=1, alpha=0.5)
    ggplotly(p)
  })
}

# アプリケーションの起動
shinyApp(ui=ui, server=server)

※ ポッサム(Possum)は、オーストラリア区のオーストラリア、ニューギニア島、スラウェシ島に生息する小型ないし中型の樹上動物。また、ニュージーランドへポッサムの一種であるフクロギツネが移入された。分類学的には有袋類双前歯目クスクス亜目の複数の科にまたがっており、厳密な定義はない。名称はアメリカ大陸に住むオポッサム(アルゴンキン語に由来)から来ている。これらはしばしば混同され、オーストラリアではポッサムのことをオポッサムということがあり、北米ではキタオポッサムのことをポッサムということがある。しかし、オポッサムは分類学的にはオポッサム目オポッサム科で、同じ有袋類であるという以上には近縁ではない(Wikipediaより引用)。