如何在 seaborn 热图中用词汇填充 xticklabels?
How to populate the xticklabels with vocabulary in seaborn heatmap?
编写了一个小代码片段来显示我的示例语料库数据的折叠单热表示
语料库 = ['Time flies like an arrow.',
'Fruit flies like a banana.']
我想在下面的 x 轴热图中打印 vocabulary,而不是 numbering。
即 an、arrow、banana、flies、fruit, like, time intead of 1, 2,3,4,5,6 in x-axis
这是当前热图的输出。
目前我使用 xticklabels='auto'。我应该在这里使用什么来打印唯一词汇表?
这是我的代码片段
from sklearn.feature_extraction.text import CountVectorizer
import seaborn as sns
corpus = ['Time flies like an arrow.',
'Fruit flies like a banana.']
one_hot_vectorizer = CountVectorizer(binary=True)
one_hot = one_hot_vectorizer.fit_transform(corpus).toarray()
sns.heatmap(one_hot, annot=True, cbar = False, xticklabels='auto', yticklabels=['Sentence1','Sentence 2'])
谢谢!
您可以使用
one_hot_vectorizer.get_feature_names()
然后将其传递给 xticklabels
kwargs:
from sklearn.feature_extraction.text import CountVectorizer
import seaborn as sns
corpus = ['Time flies like an arrow.',
'Fruit flies like a banana.']
one_hot_vectorizer = CountVectorizer(binary=True)
one_hot = one_hot_vectorizer.fit_transform(corpus).toarray()
xticklabels = one_hot_vectorizer.get_feature_names()
sns.heatmap(one_hot, annot=True, cbar = False, xticklabels=xticklabels, yticklabels=['Sentence1','Sentence 2'])
输出:
编写了一个小代码片段来显示我的示例语料库数据的折叠单热表示
语料库 = ['Time flies like an arrow.', 'Fruit flies like a banana.']
我想在下面的 x 轴热图中打印 vocabulary,而不是 numbering。 即 an、arrow、banana、flies、fruit, like, time intead of 1, 2,3,4,5,6 in x-axis
这是当前热图的输出。
目前我使用 xticklabels='auto'。我应该在这里使用什么来打印唯一词汇表?
这是我的代码片段
from sklearn.feature_extraction.text import CountVectorizer
import seaborn as sns
corpus = ['Time flies like an arrow.',
'Fruit flies like a banana.']
one_hot_vectorizer = CountVectorizer(binary=True)
one_hot = one_hot_vectorizer.fit_transform(corpus).toarray()
sns.heatmap(one_hot, annot=True, cbar = False, xticklabels='auto', yticklabels=['Sentence1','Sentence 2'])
谢谢!
您可以使用
one_hot_vectorizer.get_feature_names()
然后将其传递给 xticklabels
kwargs:
from sklearn.feature_extraction.text import CountVectorizer
import seaborn as sns
corpus = ['Time flies like an arrow.',
'Fruit flies like a banana.']
one_hot_vectorizer = CountVectorizer(binary=True)
one_hot = one_hot_vectorizer.fit_transform(corpus).toarray()
xticklabels = one_hot_vectorizer.get_feature_names()
sns.heatmap(one_hot, annot=True, cbar = False, xticklabels=xticklabels, yticklabels=['Sentence1','Sentence 2'])
输出: