我正在使用 Python 中的 WordCloud 来创建我的词云。
这是我的文本,名为 tmp
,
联系联系联系联系联系联系联系联系联系联系联系联系联系联系联系联系联系联系联系联系联系联系联系联系联系联系联系联系联系联系联系联系联系联系联系联系联系联系科学科学科学区域区域区域DIE GROOVE GROOVE LINE LINERITY非线性非线性减震器降低降低措施按对称孤子孤子转换发布节点纹理真实确定性汽车分段运动学
。
我创建词云的代码如下所示:
wordcloud = WordCloud(background_color='white',max_font_size = 50).generate(tmp)
plt.imshow(wordcloud)
plt.axis('off')
plt.show()
这是我得到的图片。真的很奇怪吧? 所以我的问题是:
首先,为什么这张图片中有两个联系人
?
其次,如何更改默认颜色设置以仅对所有这些单词使用一种特定颜色,例如对所有单词使用红色
?我 Google 了一下,发现在 WordCloud
中有一个名为 color_function
的参数。但我没有得到任何与此相关的信息。
欢迎任何意见和建议! 非常感谢!
<小时/>更新
我刚刚想出了第二个问题。
#change the value in return to set the single color need, in hsl format.
def grey_color_func(word, font_size, position,orientation,random_state=None, **kwargs):
return("hsl(230,100%%, %d%%)" % np.random.randint(49,51))
#create the wordcloud object
wordcloud = WordCloud(background_color='white',max_font_size = 50).generate(tmp)
#change the color setting
wordcloud.recolor(color_func = grey_color_func)
有人知道第二个问题的答案吗?
最佳答案
您是否尝试过添加“collocations=False”?否则,WordCloud 会自动尝试形成多重语法。
wordcloud = WordCloud(background_color='white',
max_font_size = 50,
collocations=False
).generate(tmp)
关于python - 在 Python 中使用 WordCloud 更改单词颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44827346/