En utilisant Matplotlib, je souhaite tracer une carte thermique 2D. Mes données sont un tableau Numpy n-par-n, chacun avec une valeur comprise entre 0 et 1. Donc, pour l'élément (i, j) de ce tableau, je veux tracer un carré à la coordonnée (i, j) dans mon heat map, dont la couleur est proportionnelle à la valeur de l'élément dans le tableau.
Comment puis-je faire ceci?
python
numpy
matplotlib
Karnivaurus
la source
la source
matplotlib
galerie avant de poster? Il existe de bons exemples d'utilisationimshow
,pcolor
etpcolormesh
qui font ce que vous voulezRéponses:
La
imshow()
fonction avec des paramètresinterpolation='nearest'
etcmap='hot'
devrait faire ce que vous voulez.la source
Seaborn s'occupe d'une grande partie du travail manuel et trace automatiquement un gradient sur le côté du graphique, etc.
Ou, vous pouvez même tracer des triangles supérieur / inférieur gauche / droit de matrices carrées, par exemple une matrice de corrélation carrée et symétrique, de sorte que le traçage de toutes les valeurs serait de toute façon redondant.
la source
Pour un
numpy
tableau 2d , utilisez simplementimshow()
peut vous aider:Ce code produit une carte thermique continue.
Vous pouvez choisir un autre intégré à
colormap
partir d' ici .la source
J'utiliserais la fonction pcolor / pcolormesh de matplotlib car elle permet un espacement non uniforme des données.
Exemple tiré de matplotlib :
la source
Voici comment le faire à partir d'un csv:
où
dat.xyz
est dans le formulairela source