Выровняйте многострочную метку по левому краю с помощью plotly

#r #plotly

Вопрос:

На приведенной ниже диаграмме можно ли в любом случае выровнять весь текст по левому краю так, чтобы, например, Total он располагался прямо над Pct. Total ним , как показано ниже:

введите описание изображения здесь

 library(dplyr)
library(plotly)
library(scales)

dat <- data.frame(grp = c("A", "B", "C"),
                  val = c(100, 50, 50)) %>% 
  mutate(label = paste0("Total: ", val, "nPct. Total: ", percent(val/sum(val))))
         
         dat %>% 
           plot_ly(x = ~val,
                   y = ~grp,
                   type = "bar",
                   text = ~label,
                   textposition = "outside") %>% 
           layout(xaxis = list(range = c(0, 125)))
 

Изменить: Решено

 dat %>% 
   plot_ly(x = ~val,
           y = ~grp,
           type = "bar") %>% 
   layout(annotations = list(text = ~label,
                             y = ~grp,
                             x = ~val,
                             showarrow = F,
                             xanchor = "left",
                             align = "left"),
          xaxis = list(range = c(0, 125)))
 

Ответ №1:

Решение:

 dat %>% 
   plot_ly(x = ~val,
           y = ~grp,
           type = "bar") %>% 
   layout(annotations = list(text = ~label,
                             y = ~grp,
                             x = ~val,
                             showarrow = F,
                             xanchor = "left",
                             align = "left"),
          xaxis = list(range = c(0, 125)))