服务器之家

服务器之家 > 正文

Python WordCloud 修改色调的实现方式

时间:2021-09-16 00:28     来源/作者:旻九日

在绘制词云图时发现有的字颜色为黄色导致看不清因此需要修改整个词云图的色调为冷色调

具体的来说

wordcloud中的color_func 参数使得我们能够自定义颜色函数

?
1
2
3
4
5
def random_color_func(word=None, font_size=None, position=None, orientation=None, font_path=None, random_state=None):
    h = randint(120,250)
    s = int(100.0 * 255.0 / 255.0)
    l = int(100.0 * float(randint(60, 120)) / 255.0)
    return "hsl({}, {}%, {}%)".format(h, s, l)

其中 h既表示颜色的取值范围,我们可以谷歌colour picker 查看各颜色的取值范围对应的h值

这里博主为取蓝绿色所以令h的范围在120到250之间,大家可以自己修改

最后在参数中设置 color_func = random_color_func即可

补充:python中使用wordcloud库生成的词云改为统一颜色的方法

在网上找了一个多小时都没找到办法,去看wordcloud官网也没找到操作方法,干脆就直接看源代码了

然后从里面复制出来一小段代码:

?
1
color_func=lambda *args, **kwargs: "red"

把这段代码与字体之类的参数一起赋给词云变量就可以了,如下:

?
1
2
w=wordcloud.WordCloud(font_path='msyh.ttc',mask=mianju,\
  width=1000,height=700,background_color='white',mode='RGBA',color_func=lambda *args, **kwargs: "red")

以下是完整代码,和相应名称的图片和文本文档放一起就成了

?
1
2
3
4
5
6
7
8
9
10
11
12
13
import jieba
import wordcloud
import imageio
zhezhao=imageio.imread('图片遮罩.jpg')#用imageio替代目前已经移除image的scipy库
f=open('这是一个文本.txt','r',encoding='utf-8')
t=f.read()
f.close()
ls=jieba.lcut(t)
txt=' '.join(ls)
w=wordcloud.WordCloud(font_path='msyh.ttc',mask=zhezhao,\
  width=1000,height=700,background_color='white',mode='RGBA',color_func=lambda *args, **kwargs: "red")
w.generate(txt)
w.to_file('这是生成的图片.png')

以上为个人经验,希望能给大家一个参考,也希望大家多多支持服务器之家。如有错误或未考虑完全的地方,望不吝赐教。

原文链接:https://blog.csdn.net/u010152318/article/details/80242460

标签:

相关文章

热门资讯

yue是什么意思 网络流行语yue了是什么梗
yue是什么意思 网络流行语yue了是什么梗 2020-10-11
2020微信伤感网名听哭了 让对方看到心疼的伤感网名大全
2020微信伤感网名听哭了 让对方看到心疼的伤感网名大全 2019-12-26
背刺什么意思 网络词语背刺是什么梗
背刺什么意思 网络词语背刺是什么梗 2020-05-22
苹果12mini价格表官网报价 iPhone12mini全版本价格汇总
苹果12mini价格表官网报价 iPhone12mini全版本价格汇总 2020-11-13
2021年耽改剧名单 2021要播出的59部耽改剧列表
2021年耽改剧名单 2021要播出的59部耽改剧列表 2021-03-05
返回顶部