Skip to content

Add support for ggrepel::geom_text_repel labels #2283

@CristianRiccio

Description

@CristianRiccio

I would like to produce a scatter plot in HTML format where labels are associated with each point.

This works well when I export the plot in PDF or PNG format:
example_repel_labels

But my HTML does not have the labels associated with each point. The warning message suggests that plotly does not support the label geometry from the ggrepel package:
example_repel_labels_html_screenshot

Would someone be so kind so add support for this function, please?

data(iris)

library(ggplot2)
library(htmlwidgets)
library(plotly)

p <- ggplot2::ggplot(iris, ggplot2::aes(x = Sepal.Length, y = Petal.Length)) +
  ggplot2::geom_point() +
  ggrepel::geom_text_repel(ggplot2::aes(label = Species)) +
  ggplot2::theme_classic()
ggplot2::ggsave('output/plot/point/example_repel_labels.pdf', p, height = 15, width = 15)
ggplot2::ggsave('output/plot/point/example_repel_labels.png', p, height = 15, width = 15)
pPlotly <- plotly::ggplotly(p)
htmlwidgets::saveWidget(pPlotly, 'output/plot/point/example_repel_labels.html')

Output:
Warning message: In geom2trace.default(dots[[1L]][[1L]], dots[[2L]][[1L]], dots[[3L]][[1L]]) : geom_GeomTextRepel() has yet to be implemented in plotly. If you'd like to see this geom implemented, Please open an issue with your example code at https://github.com/ropensci/plotly/issues

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions