Marques thermiques et coloris dans le matplotlib

Marques thermiques et coloris dans le matplotlib
La visualisation des données est l'une des étapes les plus cruciales de la science des données (ou toute autre science, d'ailleurs). En tant qu'êtres humains, nous sommes pauvres pour donner un sens aux rangées et aux rangées de nombres. C'est pourquoi il est toujours utile d'avoir un utilité comme Matplotlib pour nous aider à développer une intuition visuelle de ce qui se passe quand, disons, un algorithme d'apprentissage automatique classe d'énormes quantités de données.

Alors que les graphiques montrant la relation entre deux variables comme la taille et le poids peuvent être facilement tracés sur un écran plat comme indiqué ci-dessous, les choses deviennent vraiment désordonnées lorsque nous avons plus de deux paramètres.

C'est à ce moment-là que les gens essaient de passer à des parcelles 3D, mais ce sont souvent déroutants et maladroits, ce qui va à l'encontre de l'objectif de la visualisation des données. Nous avons besoin de cartes thermiques pour les visuels.

Que sont les marques de chaleur?

Si vous regardez l'image à partir d'une caméra thermique, vous pouvez voir une carte thermique littérale. La caméra d'imagerie thermique représente une température différente sous forme de couleurs différentes. Le schéma de coloriage fait appel à notre intuition que le rouge est une «couleur chaude» et prend le bleu et le noir pour représenter les surfaces froides.

Cette vue de Mars est un très bon exemple où les régions froides sont de couleur bleue tandis que les régions les plus chaudes en grande partie rouge et jaune. La barre de couleur de l'image montre quelle couleur représente la température.

En utilisant Matplotlib, nous pouvons nous associer à un point (x, y) sur le graphique avec une couleur spécifique représentant la variable que nous essayons de visualiser. Il n'a pas besoin d'être la température, il pourrait être n'importe quelle autre variable. Nous afficherons également un barre de couleur à côté pour indiquer les utilisateurs que signifient les différentes couleurs.

Souvent, vous voyiez des gens mentionner Colormaps au lieu de marques de chaleur. Ceux-ci sont souvent utilisés interchangeables. Colormap est un terme plus générique.

Installation et importation de Matplotlib et packages connexes

Pour commencer avec Matplotlib, assurez-vous que Python (de préférence Python 3 et PIP). Vous aurez également besoin nombant, cavalier et pandas travailler avec des ensembles de données. Puisque nous allons tracer une fonction simple, seulement deux des packages nombant et matplotlib vont être nécessaire.

$ pip install matplotlib numpy
#ou si vous avez les deux python deux et trois installés
$ pip3 installer Matplotlib Numpy

Une fois que vous avez installé les bibliothèques, vous devez vous assurer qu'elles sont importées dans votre programme Python.

Importer Numpy comme NP
Importer Matplotlib.pypllot comme plt

Vous pouvez maintenant utiliser les fonctions fournies par ces bibliothèques en utilisant la syntaxe comme NP.NumpyFunction ()et PLT.SomeotherFunction ().

Quelques exemples

Commençons par tracer une fonction mathématique simple qui prend des points sur un avion (leurs coordonnées X et Y) et leur attribue une valeur. La capture d'écran ci-dessous montre la fonction avec l'intrigue.

Les différentes couleurs représentent différentes valeurs (comme indiqué par l'échelle à côté du tracé). Regardons le code qui peut être utilisé pour générer ceci.

Importer Numpy comme NP
Importer Matplotlib.pypllot comme plt
# Fonction mathématique que nous devons tracer
def z_func (x, y):
retour (1 - (x ** 2 + y ** 3)) * np.exp (- (x ** 2 + y ** 2) / 2)
# Configuration des valeurs d'entrée
x = np.Arange (-3.0, 3.0, 0.1)
y = np.Arange (-3.0, 3.0, 0.1)
X, y = np.Meshgrid (x, y)
# Calcul de la sortie et le stockant dans le tableau z
Z = z_func (x, y)
IM = PLT.imshow (z, cmap = plt.cm.Rdbu, étendue = (- 3, 3, 3, -3),
interpolation = 'bilinear')
PLT.Colorbar (IM)
PLT.Titre ('$ z = (1-x ^ 2 + y ^ 3) e ^ - (x ^ 2 + y ^ 2) / 2 $')
PLT.montrer()

La première chose à remarquer est que nous importons uniquement Matplotlib.pyplot une petite partie de la bibliothèque entière. Puisque le projet est assez vieux, il a beaucoup de choses accumulées au fil des ans. Par exemple, matplotlib.Pypllot était populaire à l'époque, mais n'est plus qu'une relique historique et l'importation ajoute juste plus de ballonnements à votre programme.

Ensuite, nous définissons la fonction mathématique que nous souhaitons tracer. Il prend deux valeurs (x, y) et renvoie la troisième valeur z. Nous avons défini la fonction qui ne l'a pas encore utilisée.

La section suivante prend la tâche de créer un tableau de valeurs d'entrée, nous utilisons Numpy pour cela bien que vous puissiez utiliser la construction dans gamme() fonction pour ça si tu veux. Une fois que la liste des valeurs x et y est préparée (allant de négatif 3 à 3), nous calculons la valeur Z.

Maintenant que nous avons calculé nos entrées et nos sorties, nous pouvons tracer les résultats. Le PLT.imshow () dit à Python que l'image va être concernée par Z qui est notre variable de sortie. Il dit aussi que ce sera un colormap, un cmap, avec le bleu rouge (Rdbu) Échelle s'étendant de -3 à 3 sur l'un ou l'autre axe. Le interpolation Le paramètre rend le graphique plus lisse, artificiellement. Sinon, votre image aurait l'air assez pixélisé et grossière.

À ce stade, le graphique est créé, mais pas imprimé. Nous ajoutons ensuite la barre de couleur sur le côté pour aider à corréler différentes valeurs de z avec différentes couleurs et mentionner l'équation dans le titre. Ceux-ci sont faits en étapes PLT.Colorbar (IM) et PLT.titre(… ). Enfin, appeler la fonction nous montre le graphique à l'écran.

Réusabilité

Vous pouvez utiliser la structure ci-dessus pour tracer n'importe quelle autre colormap 2D. Vous n'avez même pas besoin de vous en tenir aux fonctions mathématiques. Si vous avez d'énormes tableaux de données dans votre système de fichiers, peut-être des informations sur une certaine démographie ou toute autre données statistiques, vous pouvez brancher en modifiant le X, y valeurs sans modifier la section Colormap.

J'espère que vous avez trouvé cet article utile et si vous aimez le contenu similaire, faites-le nous savoir.