我正在使用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()我得到的输出如下:

不管WordCloud()函数的"max_words“(增加还是减少),我几乎看不到对最终输出的任何影响。
会出什么问题呢?
另外,如何使用API reference中提到的generate_from_frequencies()方法。
发布于 2015-11-19 02:39:14
你看不到更多单词的原因是它们太小了。你使用的是哪个版本的wordcloud模块?在git版本中,默认情况下(relative_scaling=0),只有在不适合的情况下,每个单词才应该减小字体大小。
https://stackoverflow.com/questions/33774832
复制相似问题