我使用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()
方法。
答案 0 :(得分:1)
你没有看到更多单词的原因是它们太小了。
您使用的是哪个版本的wordcloud模块?在git版本中,默认情况下(relative_scaling=0
),每个单词只有在不再适合时才会减小字体大小。