Maison >développement back-end >Tutoriel Python >Pourquoi mes cartes thermiques Seaborn coupent-elles les première et dernière lignes ?

Pourquoi mes cartes thermiques Seaborn coupent-elles les première et dernière lignes ?

Linda Hamilton
Linda Hamiltonoriginal
2024-12-06 03:25:12774parcourir

Why Are My Seaborn Heatmaps Cutting Off the First and Last Rows?

Tracé de carte thermique réduit de moitié pour la première et la dernière ligne

Dans les tracés de carte thermique Seaborn et les matrices de corrélation Matplotlib, il a été observé que le premier et les dernières rangées sont souvent coupées en deux. Ce problème peut être rencontré même dans un exemple de code minimal :

import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt

data = pd.read_csv('https://raw.githubusercontent.com/resbaz/r-novice-gapminder-files/master/data/gapminder-FiveYearData.csv')
plt.figure(figsize=(10,5))
sns.heatmap(data.corr())
plt.show()

Le tracé résultant affiche les étiquettes à la position correcte sur l'axe Y, mais les lignes elles-mêmes sont incomplètes.

Origine du problème :

Malheureusement, la version 3.1.1 de Matplotlib a introduit un bug qui affecte les cartes thermiques Seaborn et axes inversés avec graduations fixes.

Solution :

Pour résoudre ce problème, vous pouvez envisager les options suivantes :

  • Revenir à Matplotlib 3.1.0 : Cette version de Matplotlib n'a pas présenté cela problème.
  • Mise à jour vers Matplotlib 3.1.2 ou version ultérieure : Le bug a été corrigé dans la version de développement actuelle.
  • Définir manuellement les limites de la carte thermique : Pour contourner le problème, vous pouvez définir manuellement les limites de la carte thermique à l'aide de ax.set_ylim(bottom, top) pour définir les limites inférieure et supérieure de l'axe y.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn