如何使用python增加Word-cloud中的max_words?

时间:2015-11-18 08:17:10

标签: python scikit-learn visualization word-cloud

我使用word cloud generator使用“云实施”一词。

这是我编写的代码,类似于他们提供的示例。

from os import path
from scipy.misc import imread
import matplotlib.pyplot as plt
import random

from wordcloud import WordCloud, STOPWORDS


def grey_color_func(word, font_size, position, orientation, random_state=None, **kwargs):
    return "hsl(0, 0%%, %d%%)" % random.randint(60, 100)

d = path.dirname(__file__)


with open("sample.csv") as f:
    lines = f.readlines() 
text = "".join(lines)
f.close()

stopwords = STOPWORDS.copy()



wc = WordCloud(max_words=15156633, stopwords=stopwords, margin=10,random_state=1).generate(text)
# generate_from_frequencies()
default_colors = wc.to_array()
plt.title("Custom colors")
plt.imshow(wc.recolor(color_func=grey_color_func, random_state=3))
wc.to_file("wordcloud_figure.png")
plt.axis("off")
plt.figure()
plt.title("Default colors")
plt.imshow(default_colors)
plt.axis("off")
plt.show()

我得到的输出如下:

Word cloud generated

无论WordCloud()函数的“max_words”(无论是增加还是减少),我都看不到对最终投入的影响。

可能出现什么问题?

此外,如何使用API reference中提到的generate_from_frequencies()方法。

1 个答案:

答案 0 :(得分:1)

你没有看到更多单词的原因是它们太小了。 您使用的是哪个版本的wordcloud模块?在git版本中,默认情况下(relative_scaling=0),每个单词只有在不再适合时才会减小字体大小。