2017-10-31 18 views
1

私はTF-IDF値のためのワードクラウドを形成しようとしています:Wordcloud:低TF-IDF値には大きなフォント

以下は、データフレームにおけるTF-IDF値です。単語クラウドを作成しようとすると、より高い値の値、この場合「seat - 2.57」が最大のフォントで表示されます。しかし、私はその逆が必要です。 "Nice - 2.088"の方がフォントのサイズが大きいほど重要です。以下は

[[u'nice' 2.0886619578149417] 
[u'owl' 2.2729656758128876] 
[u'person' 2.386294361119891] 
[u'read' 2.455287232606842] 
[u'seat' 2.5766480896111092]] 

コードです:

print(top_10.values) 
d = {} 
for a, x in top_10.values: 
    d[a] = x 

import matplotlib.pyplot as plt 
from wordcloud import WordCloud 

wordcloud = WordCloud() 
wordcloud.generate_from_frequencies(frequencies=d) 
plt.figure(figsize=(20,10)) 
plt.imshow(wordcloud, interpolation="bilinear") 
plt.axis("off") 
plt.show() 

答えて

3

あなただけwordcloudに供給する異なる周波数を使用することができます。

など。

d[a] = 3-x 

又は

d[a] = 1./x 

完全例:

top_10 = lambda :"" 
top_10.values = [[u'nice', 2.0886619578149417], 
       [u'owl', 2.2729656758128876], 
       [u'person', 2.386294361119891], 
       [u'read', 2.455287232606842], 
       [u'seat', 2.5766480896111092]] 
d = {} 
for a, x in top_10.values: 
    d[a] = 3-x 

import matplotlib.pyplot as plt 
from wordcloud import WordCloud 

wordcloud = WordCloud() 
wordcloud.generate_from_frequencies(frequencies=d) 
plt.figure(figsize=(5,3)) 
plt.imshow(wordcloud, interpolation="bilinear") 
plt.axis("off") 
plt.show() 

enter image description here

関連する問題