es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

titulo centrado a la derecha de la barra de color vertical de ggplot2

Estoy tratando de agregar un título centrado verticalmente a mi leyenda de la barra de color, pero el título se apila en la parte superior de la barra de color en lugar de a la derecha.
He intentado agregar “position = ‘right'” pero no ayuda, también he intentado con vjust, hjust pero tampoco funciona.

La gráfica que produce:

enlace a la imagen

Lo que me gustaría:

enlace a la imagen

Código:

ggplot(df, aes(x=img_type, y=metric), show.legend = FALSE) +
  geom_point(aes(size = abs_corr, colour=corr)) + scale_size(range =c(-0.1,20)) +
  scale_colour_gradient2(
    low = '#7e1952',
    high = '#2f7a9a',
    space = 'Lab',
    na.value = 'white',
    guide = 'colourbar',
    aesthetics = 'colour',
    mid = 'white',
    limits=c(-1,1), name = 'Coeficiente de correlación de Spearman'
  ) + guides(size = 'none') +
  theme(legend.key.height = unit(2.5, 'cm')) +
  guides(fill = guide_colourbar(label.position = 'right')) +
  theme(legend.title = element_text(size = 12, angle = 90))

Datos:

metric   pval    corr img_type abs_corr
1     aes 0.0000  0.6820   T2_TSE   0.6820
2     aes 0.0000  0.7365 T2_FLAIR   0.7365
3     aes 0.0003  0.2412   T1_MPR   0.2412
4     aes 0.0000  0.3510  T1_TIRM   0.3510
5      tg 0.0000  0.4434   T2_TSE   0.4434
6      tg 0.0000  0.8093 T2_FLAIR   0.8093
7      tg 0.0000  0.2813   T1_MPR   0.2813
8      tg 0.0000  0.3513  T1_TIRM   0.3513
9   coent 0.0028 -0.2583   T2_TSE   0.2583
10  coent 0.0008 -0.4210 T2_FLAIR   0.4210
Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Para agregar un título centrado verticalmente en la leyenda de la barra de color, puedes usar la función guide_colorbar() en combinación con el argumento title. Aquí está el código actualizado:

    ggplot(df, aes(x=img_type, y=metric), show.legend = FALSE) +
      geom_point(aes(size = abs_corr, colour=corr)) + 
      scale_size(range = c(-0.1,20)) +
      scale_colour_gradient2(
        low = "#7e1952",
        high = "#2f7a9a",
        space = "Lab",
        na.value = "white",
        guide = "colourbar",
        aesthetics = "colour",
        mid = "white",
        limits = c(-1, 1),
        name = "Coeficiente de Correlación de Spearman"
      ) + 
      guides(size = "none") +
      theme(legend.key.height = unit(2.5, "cm")) +
      guides(fill = guide_colorbar(title = "Coeficiente de Correlación", title.position = "top")) +
      theme(legend.title = element_text(size = 12, angle = 90))
    

    Esto producirá una leyenda de barra de color con el título “Coeficiente de Correlación” centrado por encima de la barra de color. Puedes ajustar la posición del título usando los argumentos title.vjust y title.hjust si es necesario.

Comments are closed.