2013-05-08 43 views
43

Tôi chỉ muốn có một công cụ-tip trong ứng dụng R sáng bóng của tôi. Có cách nào dễ dàng để đạt được điều đó không? Hiện tại, tôi đang tạo một bản đồ mật độ và tôi muốn một công cụ đơn giản hiển thị "bấm vào đây để trượt qua nhiều năm" trong khi di chuột qua thanh trượt YEAR.
Interface User:
tooltip trên R sáng bóng?

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

Thanks for the help.

+1

Bạn có thể cung cấp thêm một số thông tin không? http://stackoverflow.com/a/5963610/509782 – harkmug

Trả lời

48

Tôi nghĩ rằng bạn sẽ có thể thay thế này:

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

với điều này:

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

Cảm ơn bạn rất nhiều vì đã trả lời nhanh. R sáng bóng thật sự rất tuyệt. Tôi cũng đang sử dụng Google Motion Chart với Shiny. Bạn có thể vui lòng làm thêm một ưu tiên cho tôi bằng cách cung cấp cho tôi một cách để thêm/thay đổi công cụ-tip trong đó. Tôi đã không hiển thị bất cứ điều gì trong Ui.r và trong server.r tôi đặt một số mã như: 'output $ view_gviz <- renderGvis ({chart <- gvisMotionChart (visdata, idvar =" Storm ", timevar =" Year ", ......) Cảm ơn bạn một lần nữa vì sự giúp đỡ – Sabin

+0

Tôi sẽ biết ơn nếu có ai cung cấp cho tôi gợi ý cho bài đăng khác của tôi, tương tự như sau: [post] (http: // stackoverflow. com/q/16886892/2167517) – Sabin

+0

Nhưng có cách nào để tạo kiểu cho tiêu đề sao cho nó cuộn nếu chú giải công cụ lớn hơn một kích thước nhất định? – f1r3br4nd

36

Đây là cách hơi dễ dàng hơn và thanh lịch hơn.

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

Bạn có thể thêm Tooltip trong ui.R hoặc server.R, bổ sung bạn cũng có thể sử dụng Popover.

Các vấn đề liên quan