Ошибка в Seaborn при создании подзаголовков тепловой карты с помощью sharedx и sharedy. - PullRequest
0 голосов
/ 06 мая 2020

Я пытаюсь построить серию матриц путаницы, используя seaborn и matplotlib, но столкнулся с странной проблемой. Когда я пытаюсь создать подзаголовки с тиками sharedx и sharedy, последний сюжет инвертируется, за исключением последнего подзаговора.

При построении той же матрицы неточностей для нескольких морских тепловых карт каждая тепловая карта, за исключением последней, инвертируется. Правильная матрица путаницы - [[50, 0], [0, 50]], и это видно только в строке 1, столбец 1, даже несмотря на то, что одна и та же матрица неточностей была передана каждому генератору тепловой карты.

import numpy as np
from sklearn.metrics import confusion_matrix
import matplotlib.pyplot as plt
import seaborn as sn

# Getting toy data
y_true = np.zeros(100)
y_true[50:] = 1
y_pred = np.zeros(100)
y_pred[50:] = 1
confusion_matrix = confusion_matrix(y_true, y_pred)

# plotting
fig, axes = plt.subplots(2,2, sharex='all', sharey='all')
axes_flat = axes.flatten(order='F')
counter = 0
for i in range(2):
    for j in range(2):
        sn.heatmap(confusion_matrix, annot=True, xticklabels=False,
                    yticklabels=False, cbar=False, ax=axes_flat[counter])
        counter += 1
plt.show()

Incorrect Plot output Неверный график

Однако, когда я использую тот же код, что и выше, за исключением рис, axes = plt.subplots (2,2) (без совместного использования или совместного использования). Сюжет правильный! Я что-то делаю не так или это ошибка?

Correct plot Правильный сюжет

...