2013-05-08 5 views
43

Я просто хочу иметь инструмент в моем блестящем приложении R. Есть ли простой способ достичь этого? На данный момент я создаю карту плотности, и я хочу, чтобы простой инструмент показывал «нажмите здесь, чтобы скользить по годам», наведите указатель мыши на ползунок ГОД.
Интерфейс Пользователь:
подсказка на блестящей 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%") 
) 
)) 


сервера Код:

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

Спасибо за помощь.

+1

Не могли бы вы предоставить дополнительную информацию? http://stackoverflow.com/a/5963610/509782 – harkmug

ответ

48

Я думаю, вы должны быть в состоянии заменить это:

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

с этим:

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

Большое спасибо за быстрый ответ. Блестящий R действительно классный. Я также использую Google Motion Chart с Shiny. Можете ли вы, пожалуйста, сделать еще одну услугу для меня, предоставив мне способ добавить/изменить подсказку. Я ничего не показывал в Ui.r и в server.r Я помещал некоторые коды: 'output $ view_gviz <- renderGvis ({chart <- gvisMotionChart (visdata, idvar =" Storm ", timevar =" Year ", ......) '. Еще раз спасибо за помощь. – Sabin

+0

Буду признателен, если кто-нибудь предоставит мне подсказку для моего другого сообщения, похожего на это: [post] (http: // stackoverflow. com/q/16886892/2167517) – Sabin

+0

Но есть ли способ сгладить заголовок, чтобы он прокручивался, если всплывающая подсказка больше определенного размера? – f1r3br4nd

36

Это немного проще и более удобный способ.

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

Вы можете добавить всплывающую подсказку в ui.R или server.R, Дополнительно вы можете также использовать поповер.

Смежные вопросы