Неправильная позиция чисел в путанице Python - PullRequest
1 голос
/ 21 января 2020

У меня есть такой код:

plt.figure(figsize=(8,5))
confusion_matrix = pd.crosstab(y_test, predictions, rownames=["Observed"], colnames=["Anticipated"])
sns.heatmap(confusion_matrix, annot=True, fmt= "d")
plt.show()

Тем не менее, числа внутри каждого квадрата не находятся в центре каждого квадрата, как вы можете видеть ниже. Как я могу изменить этот код так, чтобы номера были в центре каждого квадрата? enter image description here

1 Ответ

0 голосов
/ 22 января 2020

Как указано в этом посте на datascience.stackexchange.com , matplotlib 3.1.1 сломался sns.heatmap(). Ответ там предлагает понизить до matplotlib 3.1.0. Но я установил 3.1.2 на мою машину, и она работает. Таким образом, вы можете обновить его сейчас.

y_test = np.array(
    [
        "foo", "foo", "foo", "foo",
        "bar", "bar", "bar", "bar",
        "foo", "foo", "foo"
    ], dtype=object
)
predictions = np.array(
    [
        "one", "one", "one", "two",
        "one", "one", "one", "two",
        "two", "two", "one"
    ], dtype=object
)

plt.figure(figsize=(8, 5))
confusion_matrix = pd.crosstab(
    y_test, predictions, rownames=["Observed"], colnames=["Anticipated"]
)
sns.heatmap(confusion_matrix, annot=True, fmt="d")
plt.show()

enter image description here

Вот результат pip list с соответствующими пакетами.

Package            Version   Location
------------------ --------- -------------------------------------
matplotlib         3.1.2
pandas             0.25.1
seaborn            0.9.0
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...