2013-05-08 14 views
43

Po prostu chcę mieć końcówkę narzędzia w mojej błyszczącej aplikacji R. Czy jest jakiś łatwy sposób na osiągnięcie tego? Na razie tworzę mapę gęstości i chcę mieć prosty poradnik pokazujący "kliknij tutaj, aby przesuwać się przez lata", a najeżdżając myszką na suwak YEAR.
Interfejs użytkownika:
tooltip na błyszczącym R?

library(shiny) 
shinyUI(pageWithSidebar(
    headerPanel("Density Map"), 
    sidebarPanel(
    sliderInput("slider_year", "YEAR:", 
       min = 2001, max = 2011, value = 2009, 
       format="####", locale="us" 
    ) 
) 
), 

    mainPanel( 
    plotOutput("event_heatmap_map", width = "100%", height = "100%") 
) 
)) 


Kod serwera:

library(shiny) 
library(ggmap) 
library(ggplot2) 
mydata <- read.csv("/var/shiny-server/www/dMetrics.csv") 
shinyServer(function(input, output) { 
    output$event_heatmap_map <- renderPlot(width = "auto", height = 640,{ 

     slice_year <- mydata[mydata$YEAR==input$slider_year,] 
     map <- get_map(c(lon = -55.3632715, lat = 31.7632836), zoom = 3, source = 'google', maptype = c("terrain"), messaging = FALSE, color = 'color') 
     world <- ggmap(map) 
     world <- world + stat_density2d(data = slice_year, aes(x = WEST, y = NORTH, fill = ..level.., alpha = ..level..), show_guide = FALSE, geom = "polygon", na.rm = TRUE) + scale_fill_gradient(name="Density", low="maroon", high="yellow", guide = 'colorbar') 
     plot(world) 
    }) 
}) 

Dzięki za pomoc.

+1

Czy możesz podać więcej informacji? http://stackoverflow.com/a/5963610/509782 – harkmug

Odpowiedz

48

Myślę, że powinieneś być w stanie zastąpić to:

sliderInput("slider_year", "YEAR:", 
      min = 2001, max = 2011, value = 2009, 
      format="####", locale="us" 
) 

z tym:

tags$div(title="Click here to slide through years", 
    sliderInput("slider_year", "YEAR:", 
       min = 2001, max = 2011, value = 2009, 
       format="####", locale="us" 
    ) 
) 
+0

Dziękuję bardzo za szybką odpowiedź. Shiny R jest naprawdę fajny. Używam również Google Motion Chart z Shiny. Czy możesz zrobić jeszcze jedną przysługę dla mnie, podając mi sposób dodawania/zmieniania tam wskazówek. Nie pokazałem niczego w Ui.r i na serwerze. Mogę umieścić kody takie jak: 'wyjście $ view_gviz <- renderGvis ({chart <- gvisMotionChart (visdata, idvar =" Storm ", timevar =" Year ", ......) 'Dziękuję raz jeszcze za pomoc – Sabin

+0

Będę wdzięczny, jeśli ktoś dostarczy mi podpowiedź dla mojego innego postu, podobnego do tego: [post] (http: // stackoverflow. com/q/16886892/2167517) – Sabin

+0

Ale czy istnieje sposób na stylizację tytułu tak, aby przewijał się, jeśli etykieta narzędzia jest większa niż określony rozmiar? – f1r3br4nd

36

Jest to nieco łatwiejsze i bardziej elegancki sposób.

library(shinyBS) # Additional Bootstrap Controls 

## From ui.R: Adds a tooltip to element with inputId = "someInput" 
## with text, "This is an input.", that appears to the left on hover. 
bsTooltip(id = "someInput", title = "This is an input", 
      placement = "left", trigger = "hover") 

## From server.R: Add the same tooltip as above 
addTooltip(session, id = "someInput", title = "This is an input.", 
      placement = "left", trigger = "hover") 

Możesz dodać podpowiedzi w ui.R lub server.R, dodatkowe można również użyć popover.

Powiązane problemy