seaborn или plt с курсорами mpl? - PullRequest
0 голосов
/ 22 января 2020

В моем коде ниже я использую

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

from sklearn.metrics import confusion_matrix

labels_true = [1,2,3,4,5,6]
labels_pred = [1,2,3,1,2,3]

# confusion_matrix
cm = confusion_matrix(labels_true, labels_pred, normalize='true')

# dataframe
df_cm = pd.DataFrame(cm)

, затем либо

# option 1:
sns.heatmap(df_cm, annot=True, linewidths=1, cmap="Blues_r",xticklabels=2, square=True)

, либо, альтернативно,

# option 2:
plt.imshow(df_cm)

, затем

# clickable cells
# cursor = mplcursors.cursor(heatmap, hover=False)
cursor = mplcursors.cursor(hover=False)

@cursor.connect("add")
def on_add(sel):
    i,j = sel.target.index
    text = 'Test message!'
    sel.annotation.set_text(text)

plt.show()

Когда я использую вариант 1, я получаю enter image description here, что имеет плюс, что каждая ячейка имеет номерную метку; но также есть минус, что на ячейки нельзя нажимать.

Когда я использую вариант 2, я получаю enter image description here, который имеет плюс, что я могу щелкнуть по ячейкам; но у меня есть минус, что я не вижу числа, помеченного на каждой клетке.

Разве нет способа, которым я могу получить лучшее из обоих миров? Я хочу, чтобы числа на ячейки И кликабельные ячейки. Спасибо!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...