【发布时间】:2017-03-27 09:54:57
【问题描述】:
我在网上看到了这个生成词云的功能,但是我无法弄清楚如何更改def_random_func 中的颜色。假设我想要橙色,现在代码总是会产生绿色的词云。代码如下:
import matplotlib.pyplot as plt
from wordcloud import WordCloud, STOPWORDS
def random_color_func(word=None, font_size=None, position=None, orientation=None, font_path=None, random_state=None):
h = int(360.0 * 45.0 / 255.0)
s = int(100.0 * 255.0 / 255.0)
l = int(100.0 * float(random_state.randint(60, 120)) / 255.0)
return "hsl({}, {}%, {}%)".format(h, s, l)
file_content = open("rr.txt").read()
wordcloud = WordCloud(font_path=r'C:\Windows\Fonts\Verdana.ttf',
stopwords=STOPWORDS,
background_color='white',
width=1200,
height=1000,
color_func=random_color_func
).generate(file_content)
plt.imshow(wordcloud)
plt.axis('off')
plt.show()
【问题讨论】:
-
您是否尝试过修改该函数以限制它产生的颜色?编写替代版本?
-
不,我不明白我应该调整什么参数?
-
嗯,它将颜色限制在 H=45º、S=100%、60
标签: python colors word-cloud