Les cartes thermiques sont souvent affichées avec des coordonnées spatiales sur les axes horizontal et vertical. En plus de cela, il y a des moments où vous voulez prendre l'axe horizontal comme temps, comme dessiner le résultat de STFT (Short-Time Fourier Transform) où l'axe horizontal est le temps et l'axe vertical est la fréquence. À ce moment-là, je voulais mettre une ligne verticale n'importe où dans l'analyse pour avoir une image du moment où l'événement s'est déclenché. Je n'ai pas pu trouver un moyen de tracer une ligne verticale avec seaborn, donc je vais le laisser comme un mémorandum.
Mettez une ligne verticale dans la carte de chaleur
Il semble que vous puissiez le saisir normalement en utilisant axvline. Alors je l'ai essayé.
vline_heatmap.py
import matplotlib.pyplot as plt
import numpy as np
import seaborn as sns
#Création de séquence d'échantillons
arr = np.random.rand(20, 20)
#Affichage de la carte de chaleur (côté gauche)
fig, (ax1, ax2) = plt.subplots(1, 2)
sns.heatmap(arr, vmin=0, vmax=5, cmap="jet", ax=ax1)
#Affichage avec des lignes verticales sur la carte de chaleur (côté droit)
sns.heatmap(arr, vmin=0, vmax=5, cmap="jet", ax=ax2)
ax2.axvline(x=4, linewidth=2, color="w")
#dessin
plt.show()
Le résultat du dessin sans ligne verticale à gauche et avec ligne verticale à droite est affiché.
Veuillez écrire dans les commentaires de cet article ou l'envoyer à l'adresse e-mail suivante (veuillez remplacer [at] par @).
akira.kashihara[at]hotmail.com
Après avoir étudié et tracé les lignes verticales en référence à l'article 1, je suis tombé sur l'article 2 et l'ai essayé. Si vous avez d'autres articles que vous écrivez directement, faites-le moi savoir.
Recommended Posts