闪亮的 R 上的工具提示?

Posted

技术标签:

【中文标题】闪亮的 R 上的工具提示?【英文标题】:tooltip on shiny R? 【发布时间】:2013-05-03 04:33:13 【问题描述】:

我想在我的ShinyR 应用程序中有一个工具提示。有什么简单的方法可以实现吗?现在,我正在创建一个密度图,并且我想要一个简单的工具提示显示“单击此处以滑过年份”,同时将鼠标悬停在滑块 YEAR 上。

用户界面:

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

感谢您的帮助。

【问题讨论】:

您能提供更多信息吗? ***.com/a/5963610/509782 【参考方案1】:

我认为你应该可以替换这个:

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

【讨论】:

非常感谢您的快速回复。闪亮的 R 真的很酷。我也在使用带有 Shiny 的 Google Motion Chart。您能否再帮我一个忙,为我提供一种在其中添加/更改工具提示的方法。我没有在 Ui.r 和 server.r 中显示任何内容,我输入了一些代码,例如:output$view_gviz &lt;- renderGvis( chart &lt;- gvisMotionChart(visdata, idvar="Storm", timevar="Year",......)。再次感谢您的帮助。 如果有人为我的另一篇文章提供提示,我将不胜感激,类似于这个:post 但是有没有办法设置标题的样式,以便在工具提示大于特定大小时滚动? div 标签将封装好的输入对象发送到另一行。有没有办法让它保持内联?例如,使用 div 以外的标签?【参考方案2】:

这种方式稍微简单一些,也更优雅。

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.Rserver.R中添加Tooltip, 此外,您还可以使用 Popover。

【讨论】:

我不确定添加另一个库是否更容易或更优雅,尽管 shinyBS 仍然很棒。

以上是关于闪亮的 R 上的工具提示?的主要内容,如果未能解决你的问题,请参考以下文章

R Highcharter:工具提示自定义

css 闪亮的工具提示

将悬停工具提示添加到shinyapps.io

在每个单元格的Shiny数据表中显示工具提示或弹出窗口?

R闪亮:填写提示用户并支持自动填充功能的表单时不需要的反应

为 DT 数据表上的双击事件创建 R 闪亮绑定