Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/timelyportfolio/tooltipsterR

R htmlwidget for tooltipster
https://github.com/timelyportfolio/tooltipsterR

Last synced: 2 months ago
JSON representation

R htmlwidget for tooltipster

Awesome Lists containing this project

README

        

```{r, setup, echo = FALSE, message = FALSE}
knitr::opts_chunk$set(
comment = "#>",
tidy = FALSE,
error = FALSE,
fig.width = 8,
fig.height = 8)
```

# tooltipsterR

> Interactive Tooltip htmlwidget

[![Linux Build Status](https://travis-ci.org//tooltipsterR.svg?branch=master)](https://travis-ci.org//tooltipsterR)
[![](http://www.r-pkg.org/badges/version/tooltipsterR)](http://www.r-pkg.org/pkg/tooltipsterR)
[![CRAN RStudio mirror downloads](http://cranlogs.r-pkg.org/badges/tooltipsterR)](http://www.r-pkg.org/pkg/tooltipsterR)

`tooltipsterR` is an htmlwidget wrapper for the excellent jQuery [tooltipster](iamceege.github.io/tooltipster/) library for interactive tooltips.

## Installation

```{r eval = FALSE}
devtools::install_github("timelyportfolio/tooltipsterR")
```

## Usage

### Basic with `htmltools`

```{r eval = FALSE}
library(tooltipsterR)
library(htmltools)

browsable(
tagList(
tags$p(
"See my ",
tags$span(
class="tooltip",
style="color:gray;",
title="tooltips provided by tooltipsterR",
"tooltip"
)
),
tooltipster()
)
)
```

### Medium with `formattable`

```{r eval = FALSE}
library(tooltipsterR)
library(formattable)
library(htmltools)

#example from ?formatter
top10red <- formatter(
"span",
class = x ~ ifelse(rank(-x) <= 10, "tooltipster-tooltip", ""),
style = x ~ ifelse(rank(-x) <= 10, "color:red", NA),
title = x ~ ifelse(rank(-x) <= 10, "top 10", "not top 10")
)
yesno <- function(x) ifelse(x, "yes", "no")

browsable(
tagList(
formattable::as.htmlwidget(formattable(mtcars, list(mpg = top10red, qsec = top10red, am = yesno))),
tooltipster(".tooltipster-tooltip")
)
)
```

### Medium with `remoji`

```{r eval = FALSE}
library(tooltipsterR)
library(remoji)
library(stringi)
library(htmltools)

browsable(
tagList(
twemoji(),
lapply(
find_emoji(""),
function(heart){
tags$div(
style="float:left;",
class="tooltip",
title = heart,
HTML(stri_trans_general(emoji(heart),"any-hex/xml"))
)
}
),
tooltipster()
)
)
```

### Advanced with `svglite`

```{r eval = FALSE}
library(tooltipsterR)
library(htmltools)
library(svglite)

browsable(
tagList(
htmlSVG(plot(1:3,col=blues9[7:9],pch=16)),
tooltipster(),
tags$script(
"
$('circle').each(function(){
$(this).tooltipster({
content: $(this).css('fill')
})
})
"
)
)
)
```

## License

MIT + file LICENSE © [Kenton Russell](https://github.com/).