2013-05-08 12 views
43

Ich möchte einfach ein Tool-Tipp in meiner glänzenden R-Anwendung haben. Gibt es einen einfachen Weg, das zu erreichen? Im Moment erstelle ich eine Dichtekarte und ich möchte ein einfaches Tool-Tipp zeigen "Klicken Sie hier, um durch Jahre zu gleiten", während Sie die Maus über den Schieberegler JAHR bewegen.
Benutzeroberfläche:
Tooltip auf glänzendem 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%") 
) 
)) 


Server-Code:

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) 
    }) 
}) 

Danke für die Hilfe.

+1

Können Sie uns weitere Informationen geben? http://stackoverflow.com/a/5963610/509782 – harkmug

Antwort

48

Ich denke, Sie sollten diese in der Lage sein, ersetzen:

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

mit diesem:

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

Vielen Dank für die schnelle Antwort. Shiny R ist wirklich cool. Ich verwende Google Motion Chart auch mit Shiny. Kannst du mir bitte noch einen Gefallen tun, indem du mir eine Möglichkeit gibst, den Tool-Tipp hinzuzufügen/zu ändern. Ich habe nichts in Ui.r und in server.r gezeigt. Ich habe einige Codes wie: 'output $ view_gviz <- renderGvis ({chart <- gvisMotionChart (visdata, idvar =" Storm ", timevar =" Year ", ......) Danke nochmals für die Hilfe – Sabin

+0

Ich werde dankbar sein, wenn mir jemand den Hinweis für meinen anderen Beitrag gibt, ähnlich dem folgenden: [post] (http: // stackoverflow. com/q/16886892/2167517) – Sabin

+0

Aber gibt es eine Möglichkeit, den Titel so zu gestalten, dass er scrollt, wenn der Tooltip größer als eine bestimmte Größe ist? – f1r3br4nd

36

Dies ist etwas einfacher und elegante Weise.

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") 

Sie können die Tooltip in ui.R oder server.R hinzufügen, Zusätzliche können Sie auch Popover verwenden.

Verwandte Themen