hacer - Tecla de color en movimiento en R heatmap.2(función del paquete gplots)
heatmap.2 r (2)
Hay regiones específicas definidas por par llamadas en el código bastante largo para heatmap.2
y no he visto a su autor original ni a ninguno de los "revisores" en torno a estas partes, aunque a veces visitan R-help. Las dimensiones principales de la trama se establecen mediante los margins
vectoriales de 2 elementos. Aquí hay algunos lugares donde podría 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)
Leí el manual de ayuda de Heatmap.2 un par de veces y también en varios tutoriales en línea que no leí sobre una forma de mover la clave de color a una posición diferente. Ahora, me pregunto si es incluso posible?
La clave de color se encuentra 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 el gráfico de 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 debe 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 2x2. El número en cada elemento de la matriz describe en qué orden se deben trazar los siguientes cuatro gráficos. Heatmap.2 traza sus elementos en el siguiente orden:
- Mapa de calor,
- Dendrograma fila,
- Dendrograma de columna,
- Llave
entonces el lmat
defecto 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 que especificaría:
> 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 ancho de cada fila y columna. El valor predeterminado es c(1.5,4)
para ambos. Si cambia lmat
, tendrá que hacerlo o probablemente también desee cambiarlo. Para el ejemplo anterior, si queremos mantener todos los demás elementos del mismo tamaño, pero queremos una clave 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 la columna dendrograma sobre el mapa de calor, el dendrograma de la fila a la izquierda y la tecla debajo. Desafortunadamente, los encabezados y las etiquetas de la clave están codificados.
ver ?layout
para más detalles sobre cómo funciona el layout
.