C'est facile à faire dans R. Exécuter brew install R
, courir R
et exécutez install.packages("pheatmap")
. Puis lancez ceci :
echo ',Amsterdam,Antwerp,Athens,Barcelona,Berlin,Bern,Brussels,Calais,Cologne
Amsterdam,,160,3082,1639,649,875,209,385,280
Antwerp,160,,2766,1465,723,704,46,211,237
Athens,3082,2766,,3312,2552,2627,3021,2976,2562
Barcelona,1639,1465,3312,,1899,913,1419,1399,1539
Berlin,649,723,2552,1899,,986,782,936,575
Bern,875,704,2627,913,986,,655,854,583
Brussels,209,46,3021,1419,782,655,,212,219
Calais,385,211,2976,1399,936,854,212,,431
Cologne,280,237,2562,1539,575,583,219,431,'>input.csv
R -e 'library(pheatmap);pheatmap(read.csv("input.csv",header=T,row.names=1),
filename="output.png",cellwidth=12,cellheight=12,fontsize=10)'
qlmanage -p output.png
Désactiver le regroupement, afficher les chiffres dans les cellules, utiliser un schéma de couleurs avec plus de nuances, désactiver la légende, désactiver la bordure entre les cellules :
R -e 'library(pheatmap);pheatmap(read.csv("input.csv",header=T,row.names=1),
filename="output.png",cluster_rows=F,cluster_cols=F,legend=F,
cellwidth=24,cellheight=12,fontsize=8,border_color=NA,
display_numbers=T,number_format="%.0f",fontsize_number=8,number_color="black",
rev(colorRampPalette(brewer.pal(11,"Spectral"))(256)))'
qlmanage -p output.png
Changer le délimiteur du fichier d'entrée, autoriser les espaces dans les noms de colonnes ( check.names=F
), convertir les valeurs en z-scores scale()
Utilisez un schéma de couleurs qui met l'accent sur les valeurs moyennes, où les valeurs moyennes sont blanches au lieu de jaunes, utilisez une gamme de chiffres fixes pour le schéma de couleurs :
echo 'Population;Height;Head length;Head width;Nose width;Percentage light eyes
Estonian;173.2;194.0;156.9;35.6;66
Finnish;172.9;193.4;154.9;36.0;69
Karelian;165.7;188.6;153.0;35.8;59.3
Saami;160.8;187.8;156.0;36.8;35.3
Erzya;167.7;191.6;152.2;35.9;54.8
Mari;162.3;187.7;152.3;35.1;27.6
Komi;164.7;189.0;154.1;35.1;45.9
Khanty;157.7;190.2;151.9;36.5;3.3
Chuvash;165.1;188.7;153.0;35.7;16.7
Tatar;165.2;191.4;153.2;35.4;18.3
Bashkir;163.5;190.8;152.4;35.9;9.2'>input
R -e 'library(pheatmap);
pheatmap(scale(read.csv("input",sep=";",header=T,row.names=1,check.names=FALSE)),
filename="output.png",cluster_cols=F,
cellwidth=12,cellheight=12,fontsize=8,angle_col=315,
breaks=seq(-2.5,2.5,(5/256)),rev(colorRampPalette(brewer.pal(11,"RdBu"))(256)))'
qlmanage -p output.png