галочки sns.clustermap отсутствуют - PullRequest
0 голосов
/ 28 июня 2018

Я пытаюсь визуализировать, какие фильтры изучают в модели классификации текста CNN. Для этого я извлек карты объектов из образцов текста сразу после сверточного слоя, а для фильтра размера 3 я получил тензор размера (filter_num) * (length_of_sentences).

df = pd.DataFrame(-np.random.randn(50,50), index = range(50), columns= range(50))
g= sns.clustermap(df,row_cluster=True,col_cluster=False)
plt.setp(g.ax_heatmap.yaxis.get_majorticklabels(), rotation=0) # ytick rotate
g.cax.remove() # remove colorbar
plt.show()

Этот код приводит к:

heatmap

Там, где я не вижу все галочки по оси Y. Это необходимо потому что мне нужно посмотреть, какие фильтры узнают какую информацию. Есть любой способ правильно выставить все тики на оси у?

1 Ответ

0 голосов
/ 28 июня 2018

kwargs из sns.clustermap передается в sns.heatmap, который имеет опцию yticklabels, чья документация гласит (выделено мое):

Если True, выведите на экран имена столбцов информационного кадра. Если False, не отображайте названия столбцов. Если это похоже на список, нанесите эти альтернативные метки как xticklabels. Если целое число, используйте имена столбцов, но наносите только каждую n метку . Если «авто», попробуйте плотно нанести неперекрывающиеся метки.

Здесь самый простой вариант - установить его в целое число, чтобы он отображал каждую n метку. Нам нужен каждый ярлык, поэтому мы хотим установить его на 1, т. Е .:

g = sns.clustermap(df, row_cluster=True, col_cluster=False, yticklabels=1)

В вашем полном примере:

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

df = pd.DataFrame(-np.random.randn(50,50), index=range(50), columns=range(50))
g = sns.clustermap(df, row_cluster=True, col_cluster=False, yticklabels=1)
plt.setp(g.ax_heatmap.yaxis.get_majorticklabels(), rotation=0)  # ytick rotate
g.cax.remove()  # remove colorbar

plt.show()

enter image description here

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