Как избавиться от пробела между осями x и tick в тепловой карте Seaborn? - PullRequest
0 голосов
/ 14 апреля 2020

В тепловой карте Seaborn (в Jupyter Notebook) я получаю дополнительное пространство между осью и отметками x, которые я перенес наверх. Если я оставлю галочки внизу, они как грипп sh, как и ожидалось, но они мне нужны наверху. Я не могу понять, как избавиться от этого пространства между верхним краем графика и галочками. Я пробовал установку отступа в set_tick_params, но это только регулирует пространство между галочкой и меткой.

Heatmap with ticks

Вот подмножество данных для игры с

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sb

axis_labels = ['Q1','Q2','Q3','Q4','Q5']
data = pd.DataFrame([[np.nan,0.14,0.01,0.00,-0.05],
       [0.30,np.nan,0.01,0.03,-0.04],
       [0.16,0.10,np.nan,0.01,-0.02],
       [0.14,0.05,0.02,np.nan,-0.04],
       [0.16,0.09,0.01,0.02,np.nan]])

fig, ax = plt.subplots(figsize=(15,15))
sb.heatmap(data, ax=ax, center=0, annot=True, mask=data.isnull(), 
           square=True, cmap=sb.diverging_palette(275, 150, s=80, l=55, as_cmap=True), cbar_kws={"shrink": 0.75})
ax.set_ylim(5,-0.5)
ax.set_xticklabels(axis_labels, rotation=90, ha='center', fontsize=12)
ax.set_yticklabels(axis_labels, rotation=0, fontsize=12)
ax.xaxis.tick_top();

Возможно, что-то очень простое, что мне не хватает. Есть идеи?

...