【问题标题】:Wordcloud: Bigger font for lower tf-idf valuesWordcloud:较低 tf-idf 值的较大字体
【发布时间】:2018-04-13 04:53:54
【问题描述】:

我正在尝试为 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()

【问题讨论】:

    标签: python pandas matplotlib tf-idf word-cloud


    【解决方案1】:

    您可以使用不同的频率来提供给 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()
    

    【讨论】:

      猜你喜欢
      • 2021-11-09
      • 2014-06-29
      • 2015-05-07
      • 2015-11-01
      • 2017-08-28
      • 1970-01-01
      • 2020-09-27
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多