Je rencontre des difficultés avec la mise en forme du texte lorsque j'utilise ggplotly
et la souris sur la fonctionnalité.
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))
Je voudrais avoir du texte formaté ou au moins une nouvelle ligne dans ma souris sur l'étiquette. Existe-t-il une bonne documentation sur la façon de concevoir cette souris sur bulle?
plotly
peut utiliser la balise HTML de saut de ligne. Vous pouvez obtenir ce que vous voulez après avoir utilisé le <br>
tag pour une nouvelle ligne:
g <- ggplot(df, aes(x,y)) +
geom_point(aes(text=sprintf("letter: %s<br>Letter: %s", a, b)))
(gg <- ggplotly(g))
Voir l'argument tooltip
de ggplotly () . Par exemple, pour afficher uniquement le nom de l'espèce (par exemple virginica
pour le point supérieur droit) au survol:
g <- ggplot(tail(iris), aes(Petal.Length, Sepal.Length, text=Species)) + geom_point()
ggplotly(g, tooltip="text")
Autres exemples:
ggplotly(g, tooltip="x") # Petal.Length: 5.7
ggplotly(g, tooltip="Petal.Length") # Petal.Length: 5.7
ggplotly(g, tooltip=c("x", "y"))
Le dernier exemple montrera l'info-bulle à deux lignes
Petal.Length: 5.7
Sepal.Length: 6.7
Voici une solution utilisant fonction de carte de purrr . Cela m'a un peu surpris que cela fonctionne, mais j'aime ça.
J'ai mis en gras les titres "lettre:" et "lettre:". Cela affiche toujours les coordonnées x-y, que vous pouvez supprimer avec l'argument tooltip
dans ggplotly()
.
df <- data.frame(a=letters, b=LETTERS, x=runif(26), y=runif(26))
g <- ggplot(df, aes(x,y)) +
geom_point(aes(text=map(paste('<b>letter:</b>', a, '<br>', '<b>Letter:</b>', b), HTML)))
g
(gg <- ggplotly(g))