Saltar al contenido

Cómo dar subtítulos para subtrama en plot_ly usando R

Si encuentras algún problema en tu código o proyecto, recuerda probar siempre en un ambiente de testing antes aplicar el código al trabajo final.

Solución:

los title attribute en el diseño se refiere al título de toda la superficie de trazado, por lo que solo puede haber uno. Sin embargo, podemos usar anotaciones de texto para crear “títulos” para sus subparcelas, por ejemplo:

p <- subplot(
  plot_ly(economics, x = date, y = uempmed)%>%layout(showlegend = FALSE),
  plot_ly(economics, x = date, y = unemploy)%>%layout(showlegend = FALSE),
  margin = 0.05
) 
p %>% layout(annotations = list(
 list(x = 0.2 , y = 1.05, text = "AA", showarrow = F, xref='paper', yref='paper'),
  list(x = 0.8 , y = 1.05, text = "BB", showarrow = F, xref='paper', yref='paper'))
)

En lugar de posicionar “a mano” (es decir, la respuesta de @d-roy), ahora puede aprovechar subplot()La capacidad de cambiar la posición del papel hace referencia a cosas como anotaciones (así como formas, imágenes, etc.).

library(plotly)
library(dplyr)

my_plot <- . %>% 
  plot_ly(x = ~date, y = ~value) %>%
  add_annotations(
    text = ~unique(variable),
    x = 0.5,
    y = 1,
    yref = "paper",
    xref = "paper",
    xanchor = "middle",
    yanchor = "top",
    showarrow = FALSE,
    font = list(size = 15)
  )

economics_long %>%
  group_by(variable) %>%
  do(p = my_plot(.)) %>%
  subplot(nrows = NROW(.), shareX = TRUE)

Pude usar el esquema de diseño (anotaciones ()) no en la trama secundaria () sino en los propios objetos plot_ly. Esto proporciona una ubicación ligeramente mejor para la visualización dinámica. Entonces, para reelaborar la respuesta de @ d-roy:

p <- subplot(
  plot_ly(economics, x = date, y = uempmed) %>% 
     layout(annotations = list(x = 0.2 , y = 1.05, text = "AA", showarrow = F, 
xref='paper', yref='paper'), 
     showlegend = FALSE),
  plot_ly(economics, x = date, y = unemploy) %>% 
     layout(annotations = list(x = 0.2 , y = 1.05, text = "AA", showarrow = F, 
xref='paper', yref='paper'), 
     showlegend = FALSE),showlegend = FALSE))`. 

Tenga en cuenta que, en este caso, las coordenadas de las anotaciones son las mismas para cada anotación porque se refieren a cada subparcela y no a la parcela combinada como un todo.

Aquí puedes ver las reseñas y valoraciones de los lectores

Eres capaz de añadir valor a nuestro contenido informacional colaborando tu veteranía en las referencias.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *