plotly.R icon indicating copy to clipboard operation
plotly.R copied to clipboard

Multi line facet labels displaying incorrectly with ggplotly

Open cath-parkinson opened this issue 2 years ago • 0 comments

Multiline is successfully set in the ggplot object with labeller = ggplot2::label_wrap_gen(width = 15, multi_line = TRUE) but then displays incorrectly when passed to ggplotly

myplot_facetgrid

df <- dplyr::tibble(fruit = c("Apples", "Pears", "Bananas", "Apples", "Pears", "Bananas"),
             metric = c("METRIC 1", "METRIC 1", "METRIC 1", "METRIC 1 - METRIC 2", "METRIC 1 - METRIC 2", "METRIC 1 - METRIC 2"),
             value = c(1000, 2000, 3000, 2000, 3000, 3000))

myplot <- ggplot2::ggplot(
  data = df,
  ggplot2::aes(x = fruit,
               y = value,
               fill = metric)) +
  ggplot2::geom_bar(stat = "identity")  +
  ggplot2::geom_abline(intercept = 0, slope = 0, lty = 2, color = "grey") +
  ggplot2::facet_grid(cols = ggplot2::vars(metric),
                      scales = "fixed",
                      labeller = ggplot2::label_wrap_gen(width = 15,
                                                         multi_line = TRUE)
                      ) +
  ggplot2::coord_flip() +
  ggplot2::theme(
    text = ggplot2::element_text(size = 14,
                                 color = "#0D0D0D"),
    axis.title.x = ggplot2::element_blank(),
    axis.title.y = ggplot2::element_blank(),
    axis.text = ggplot2::element_text(color = "#0D0D0D"),
    axis.ticks = ggplot2::element_blank(),
    axis.title = ggplot2::element_text(face = "bold"),
    panel.background = ggplot2::element_blank(),
    plot.margin = ggplot2::unit(c(0, 0, 0, 0), units = "cm"),
    legend.position = "none"
    ,
    strip.text = ggplot2::element_text(lineheight = 2)
  )

plotly::ggplotly(myplot)


cath-parkinson avatar Jun 02 '22 07:06 cath-parkinson