R Tooltip Data Point
Asked Answered
U

2

7

I have a question related to R Shiny. So I want to have the tooltip which can show the concrete information of a data point when I put my mouse on the point. Anyone has ideas how to do it?

Sample codes are more than welcomed.

Upgrowth answered 21/7, 2013 at 2:46 Comment(2)
What have you tried? Take a look at rCharts ramnathv.github.io/rCharts. The first example seems to be what you're looking forQuincy
All js libraries with rCharts support tooltips. You may also want to take a look at SVGAnnotation that allows tooltips with grid graphics.Bunkum
H
6

I have seen this done in rCharts by Ramnath V, in his NYTimes graphics example. rCharts sits on top of Shiny. You can check out a fully reproducible and clearly described example here.

This piece of code is what you are after:

require(rCharts)
p1 <- rPlot(SOG ~ yearID, data = team_data, type = 'point', 
  size = list(const = 2), color = list(const = '#888'), 
  tooltip="function(item){return item.SOG +'\n' + item.name + '\n' + item.yearID}"
)
p1$print('chart1')

Notice how he uses a Javascript function as an argument to tooltip for rPlot.

Another option

You can also try wrapping your element inside a tags$div()

Though not exactly what you are looking for, in this related question, Joe Cheng suggests exactly that, but for UI.R. (The difference is that in that example the tool-tip is a static text.)

Say you have a sliderInput:

tags$div(title="this static text will show up in the tooltip",
    sliderInput(  # parameters here
    )
)

Hope that helps you move forward.

Hi answered 21/7, 2013 at 3:31 Comment(1)
We should use "#!function(item){return ...}!#" with rCharts 0.4.2.Keeshakeeshond
A
0

You can now go this with the package ggvis as well. See http://ggvis.rstudio.com/

This is the type of code you would use, in server.R:

library(ggvis)
df %>% ggvis(~x, ~y) %>% layer_points() %>% 
    add_tooltip(function(x) paste0(names(x), ": ", 
                format(x), collapse = "<br />"), "hover") %>%
    bind_shiny("plot_id")

And then in ui.R, to place the plot you use:

ggvisOutput("plot_id")
Annabal answered 2/7, 2014 at 7:55 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.