gpt4 book ai didi

python - 带有自定义随机颜色生成的python中的词云

转载 作者:行者123 更新时间:2023-12-03 18:41:40 25 4
gpt4 key购买 nike

我看到这个函数可以在线生成词云,但是我无法弄清楚如何更改 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()

最佳答案

random_color_func() 正在创建具有相同色调但具有不同亮度的颜色。你只需要决定你想要哪种色调。因此,对于橙色,您可以考虑使用 21 的值,例如:

def random_color_func(word=None, font_size=None, position=None,  orientation=None, font_path=None, random_state=None):
h = int(360.0 * 21.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)

色调值在 0-360 范围内,您可以使用在线颜色选择器找到合适的值(例如,尝试谷歌搜索 colour picker)。代码只是从范围 0-255 转换而来,这是另一个通用标准。因此,您可以制作 h = 30 而不是转换。

这会给你类似的东西:

orange wordcloud

您可以更改 randint 范围以使其更亮。

关于python - 带有自定义随机颜色生成的python中的词云,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43043263/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com