Добавление оси категорий в Matplotlib Matshow - PullRequest
1 голос
/ 28 февраля 2020

У меня есть 300 предметов, принадлежащих к нескольким категориям:

Первые 84 пункта: Категория A

Следующие 116 элементов: Категория B

Последние 100 элементов: Категория C

Между каждым элементом есть расстояние, и я создал из него матрицу расстояний симметричности c размером 300x300.

plt.figure(figsize=(10,10)) #to make the figure larger
plt.matshow(distances, fignum=1)

дает мне фигуру (давайте назовите это рис. F), где отметки по осям x и y равны 50 100 150, ...

Однако я также хотел бы видеть метки категорий на этом графике.

Например, отметки на вертикальной оси рисунка F могут находиться в позициях 1, 85 и 201 с соответствующими метками категорий.

В качестве альтернативы, добавление вертикального сегмента линии слева от Рисунок F, который разделен на три части с ярлыками категорий на каждой части, будет работать. (разумеется, высота вертикального отрезка должна совпадать с высотой рисунка F)

Как узнать, какие строки соответствуют какой категории?

1 Ответ

2 голосов
/ 28 февраля 2020

Как вы сказали, просто добавьте строки:

plt.matshow(dist)
plt.vlines([84,200],0,299)
plt.hlines([84,200],0,299)

Вывод:

enter image description here

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