2017-01-16 1 views
1

Comme indiqué dans le titre ci-dessus, je veux changer les étiquettes de colonnes dans la figure heatmap produite par heatmap.2 des paquets gplots dans R aux symboles plutôt que du texte. Puis-je savoir si c'est possible, et si oui, comment le faire?Comment modifier les étiquettes de colonnes heatmap en symboles dans R

C'est un exemple de code pour générer heatmap en utilisant heatmap.2:

library(gplots) 
data<-sample(1:100,size=80) 
M<-matrix(data,nrow=10,ncol=8) 
colnames(M)<-c("W1_1","W1_2","W1_3","W1_4","B1_1","B1_2","B1_3","B1_4") 
heatmap.2(M, trace="none", dendrogram="none") 

Ceci est le résultat de heatmap:

enter image description here

Dans ce cas, les étiquettes de colonne sont "W1_1" , "W1_2", "W1_3", "W1_4", "B1_1", "B1_2", "B1_3", "B1_4". Puis-je savoir S'il est possible d'utiliser deux symboles pour représenter W1 et B1 groupe respectivement et montrer dans la figure finale.

Je joins un exemple ci-dessous (via photoshop changé):

enter image description here

Merci à l'avance pour tous les aide!

+0

Vous devez spécifier vraiment ce paquet 'heatmap.2' est de, et je ne sais pas pourquoi vous indéxé [tag: ggplot2] si vous ne l'utilisez pas. – alistaire

+0

Cher alistaire @alistaire, je pensais qu'il pourrait y avoir une solution avec ggplot2 :). Le paquet heatmap.2 provient de gplots. – fyr0049

Répondre

0

Voici une autre possibilité avec fonction standard image:

op <- par(mar=c(4,2,2,4)) 
image(seq(nrow(M)), seq(ncol(M)), M, axes=F, xlab="", ylab="") 
axis(side=4, at=seq(ncol(M))) 
par(xpd=TRUE) 
points(seq(nrow(M)), rep(0, nrow(M)), 
    pch=c(16, 15), col=c("cyan", "pink"), cex=2 
) 
par(op) 

enter image description here