Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Formatting mouse over labels in plotly when using ggplotly

Tags:

r

ggplot2

plotly

I am struggling with text formatting when using ggplotly and the mouse over functionality.

library(plotly) df <- data.frame(a=letters, b=LETTERS, x=runif(26), y=runif(26)) g <- ggplot(df, aes(x,y)) + geom_point(aes(text=sprintf('letter: %s\nLetter: %s', a, b))) g (gg <- ggplotly(g)) 

I would like to have some formatted text or at least a newline in my mouse over label. Is there a good documentation on how to design this mouse over bubble thing?

like image 849
drmariod Avatar asked Jan 05 '16 07:01

drmariod


People also ask

What is hover name in Plotly?

Hover Labels is the most depectively-power feature for interactive visualization in plotly, for user it is the ability to reveal more information about the data points by moving the cursor (mouse) over the point and having a hover label appear.

Can Ggplot be interactive?

Available interactive layers They are several available interactive geometries, scales and other ggplot elements. Almost all ggplot2 elements can be made interactive with ggiraph.


2 Answers

See the tooltip argument to ggplotly(). For instance, to show only the species name (e.g. virginica for the top right point) on hover:

g <- ggplot(tail(iris), aes(Petal.Length, Sepal.Length, text=Species)) + geom_point() ggplotly(g, tooltip="text") 

Other examples:

ggplotly(g, tooltip="x")             # Petal.Length: 5.7 ggplotly(g, tooltip="Petal.Length")  # Petal.Length: 5.7 ggplotly(g, tooltip=c("x", "y")) 

The last example will show the two-line tooltip

Petal.Length: 5.7 Sepal.Length: 6.7 
like image 195
Jon Olav Vik Avatar answered Sep 18 '22 05:09

Jon Olav Vik


plotly can make use of the line break HTML tag. You can get what your after using the <br> tag for a newline:

g <- ggplot(df, aes(x,y)) +         geom_point(aes(text=sprintf("letter: %s<br>Letter: %s", a, b)))  (gg <- ggplotly(g)) 
like image 22
Jota Avatar answered Sep 18 '22 05:09

Jota