在 Python 中使用 WordCloud 更改文字颜色
Change word color using WordCloud in Python
我正在使用来自 Python 的 WordCloud 创建我的词云。
这是我的文本,名为 tmp
,
contact contact contact contact contact contact contact contact contact contact contact contact contact contact contact contact contact contact contact contact contact contact contact contact contact contact contact contact contact contact contact contact science science science science area area area die die groove groove line line nonlinearity nonlinearity damper damper press press symmetric symmetric soliton soliton cast publish node textured real deterministic car segment kinematics
。
而我创建词云的代码如下:
wordcloud = WordCloud(background_color='white',max_font_size = 50).generate(tmp)
plt.imshow(wordcloud)
plt.axis('off')
plt.show()
这是我得到的照片。真的很奇怪吧?
所以我的问题是:
首先,这张图为什么有两个contact
?
其次,我怎样才能将默认颜色设置更改为对所有这些单词只使用一种特定颜色,比如对所有单词说 red
?我用 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)
有人知道第二个问题的答案吗?
我试过你的代码,在WordCloud图片中只有一张'Contact'。
您尝试添加 "collocations=False" 了吗?否则 WordCloud 会自动尝试形成多重字母。
wordcloud = WordCloud(background_color='white',
max_font_size = 50,
collocations=False
).generate(tmp)
另请参阅:
我正在使用来自 Python 的 WordCloud 创建我的词云。
这是我的文本,名为 tmp
,
contact contact contact contact contact contact contact contact contact contact contact contact contact contact contact contact contact contact contact contact contact contact contact contact contact contact contact contact contact contact contact contact science science science science area area area die die groove groove line line nonlinearity nonlinearity damper damper press press symmetric symmetric soliton soliton cast publish node textured real deterministic car segment kinematics
。
而我创建词云的代码如下:
wordcloud = WordCloud(background_color='white',max_font_size = 50).generate(tmp)
plt.imshow(wordcloud)
plt.axis('off')
plt.show()
这是我得到的照片。真的很奇怪吧? 所以我的问题是:
首先,这张图为什么有两个contact
?
其次,我怎样才能将默认颜色设置更改为对所有这些单词只使用一种特定颜色,比如对所有单词说 red
?我用 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)
有人知道第二个问题的答案吗?
我试过你的代码,在WordCloud图片中只有一张'Contact'。
您尝试添加 "collocations=False" 了吗?否则 WordCloud 会自动尝试形成多重字母。
wordcloud = WordCloud(background_color='white',
max_font_size = 50,
collocations=False
).generate(tmp)
另请参阅: