python - 在 Python 中使用 WordCloud 更改单词颜色

标签 python word-cloud

我正在使用 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 的参数。但我没有得到任何与此相关的信息。

the Picture I got

欢迎任何意见和建议! 非常感谢!

<小时/>

更新

我刚刚想出了第二个问题。

#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)

另请参阅:https://stackoverflow.com/a/45094775/10220353

关于python - 在 Python 中使用 WordCloud 更改单词颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44827346/

相关文章:

r - 具有特定形状的文字云

javascript - 带有 wordcloud2.js 的词云

python - 将列表中的元素向后移动一位而不改变原始列表

python - 如何在 Python 的 panda 中对指定时间段的日期时间进行分组并将聚合函数应用于日期时间?

python - 在 python 中为列表中的项目生成词云

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

python - 双击时无法打开单个 tkinter 程序。我没有收到错误消息

python - 使用 Python 在 RSA 算法中将文本转换为数字时无法修复的错误

python - Django模型字段默认基于另一个模型字段

python - 外语的词云或可视化