Mover la clave de color en R heatmap.2 (función del paquete gplots)

Leí el manual de ayuda de heatmap.2 un par de veces, y también en varios tutoriales en línea que no leí acerca de una forma de mover la tecla de color a una posición diferente. Ahora, me pregunto si es posible?

La tecla de color está en la esquina superior izquierda de forma predeterminada si está utilizando la función heatmap.2 del paquete gplots.

La posición de cada elemento en la gráfica heatmap.2 se puede controlar utilizando los lmat , lhei y lwid . Estos son pasados ​​por heatmap.2 al comando de layout como:

 layout(mat = lmat, widths = lwid, heights = lhei) 

lmat es una matriz que describe cómo se va a dividir la pantalla. Por defecto, heatmap.2 divide la pantalla en una cuadrícula de cuatro elementos, por lo que lmat es una matriz de 2×2. El número en cada elemento de la matriz describe el orden en que se trazarán las siguientes cuatro plots. Heatmap.2 traza sus elementos en el siguiente orden:

  1. Mapa de calor,
  2. Dendrogtwig de fila,
  3. Dendrogtwig de columna,
  4. Llave

entonces el lmat predeterminado es:

 > rbind(4:3,2:1) [,1] [,2] [1,] 4 3 [2,] 2 1 

Si, por ejemplo, desea colocar la clave debajo del mapa de calor, debe especificar:

 > lmat = rbind(c(0,3),c(2,1),c(0,4)) > lmat [,1] [,2] [1,] 0 3 [2,] 2 1 [3,] 0 4 

lwid y lhei son vectores que especifican el alto y el ancho de cada fila y columna. El valor predeterminado es c(1.5,4) para ambos. Si cambias lmat deberás o probablemente quieras cambiar esto también. Para el ejemplo anterior, si queremos mantener todos los demás elementos del mismo tamaño, pero queremos una tecla de color delgada en la parte inferior, podríamos establecer

 >lwid = c(1.5,4) >lhei = c(1.5,4,1) 

Entonces estamos listos para trazar el mapa de calor:

 >heatmap.2(x,...,lmat = lmat, lwid = lwid, lhei = lhei) 

Esto trazará un mapa de calor con el dendrogtwig de columna sobre el mapa de calor, el dendrogtwig de fila a la izquierda y la clave debajo. Lamentablemente, los títulos y las tags de la clave están codificados.

ver ?layout para más detalles sobre cómo funciona el layout .

Hay regiones especificadas definidas por pares en el código bastante largo para heatmap.2 y no he visto su autor original ni ninguno de los “revisores” alrededor de estas partes, aunque a veces visitan R-help. Las dimensiones de la ttwig principal se establecen mediante los margins vector de 2 elementos. Aquí hay algunos lugares donde puede necesitar hacer cambios:

 #1) if (!missing(RowSideColors)) { par(mar = c(margins[1], 0, 0, 0.5)) image(rbind(1:nr), col = RowSideColors[rowInd], axes = FALSE) #2) if (!missing(ColSideColors)) { par(mar = c(0.5, 0, 0, margins[2])) image(cbind(1:nc), col = ColSideColors[colInd], axes = FALSE) #3) par(mar = c(margins[1], 0, 0, margins[2])) #4) par(mar = c(margins[1], 0, 0, 0)) #5) par(mar = c(0, 0, if (!is.null(main)) 5 else 0, margins[2])) #6 if (key) { par(mar = c(5, 4, 2, 1), cex = 0.75) 
Intereting Posts