matplotlib / seaborn: первый и последний ряд вырезаны на половине графика тепловых карт

При построении тепловых карт с морской волной (и корреляционных матриц с помощью matplotlib) первый и последний ряд делятся пополам. Это также происходит, когда я запускаю этот минимальный пример кода, который я нашел в Интернете.

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()

And get this result (I am not allowed to embed images yet) Метки на оси y находятся в правильном месте, но строки не полностью там.

Несколько дней назад это работало как задумано. С тех пор я установил texlive-xetex, поэтому удалил его снова, но это не решило мою проблему.

Есть идеи, чего мне не хватать?

44
задан Engineero 8 July 2019 в 11:21
поделиться

2 ответа

Фиксированное вышеупомянутое использования и установление heatmap пределов вручную.

Первый

ax = sns.heatmap(...

проверил текущие оси с

ax.get_ylim()
(5.5, 0.5)

Фиксированный с

ax.set_ylim(6.0, 0)
14
ответ дан 11 November 2019 в 22:15
поделиться

Ошибка в matplotlib регрессии между 3.1.0 и 3.1.1 можно исправить это:

import seaborn as sns
df_corr = someDataFrame.corr()
ax = sns.heatmap(df_corr, annot=True) #notation: "annot" not "annote"
bottom, top = ax.get_ylim()
ax.set_ylim(bottom + 0.5, top - 0.5)
25
ответ дан 11 November 2019 в 22:15
поделиться
Другие вопросы по тегам:

Похожие вопросы: