Python WordCloud 修改色調(diào)的實(shí)現(xiàn)方式
在繪制詞云圖時(shí)發(fā)現(xiàn)有的字顏色為黃色導(dǎo)致看不清因此需要修改整個(gè)詞云圖的色調(diào)為冷色調(diào)
具體的來(lái)說(shuō)
wordcloud中的color_func 參數(shù)使得我們能夠自定義顏色函數(shù)
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 查看各顏色的取值范圍對(duì)應(yīng)的h值
這里博主為取藍(lán)綠色所以令h的范圍在120到250之間,大家可以自己修改
最后在參數(shù)中設(shè)置 color_func = random_color_func即可
補(bǔ)充:python中使用wordcloud庫(kù)生成的詞云改為統(tǒng)一顏色的方法
在網(wǎng)上找了一個(gè)多小時(shí)都沒找到辦法,去看wordcloud官網(wǎng)也沒找到操作方法,干脆就直接看源代碼了
然后從里面復(fù)制出來(lái)一小段代碼:
color_func=lambda *args, **kwargs: 'red'
把這段代碼與字體之類的參數(shù)一起賦給詞云變量就可以了,如下:
w=wordcloud.WordCloud(font_path=’msyh.ttc’,mask=mianju, width=1000,height=700,background_color=’white’,mode=’RGBA’,color_func=lambda *args, **kwargs: 'red')
以下是完整代碼,和相應(yīng)名稱的圖片和文本文檔放一起就成了
import jiebaimport wordcloudimport imageiozhezhao=imageio.imread(’圖片遮罩.jpg’)#用imageio替代目前已經(jīng)移除image的scipy庫(kù)f=open(’這是一個(gè)文本.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’)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持好吧啦網(wǎng)。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教。
相關(guān)文章:
1. js實(shí)現(xiàn)跳一跳小游戲2. js實(shí)現(xiàn)貪吃蛇小游戲(加墻)3. IDEA中用maven連接數(shù)據(jù)庫(kù)的教程4. JVM之class文件結(jié)構(gòu)5. Ajax報(bào)錯(cuò)400的參考解決辦法6. Python如何根據(jù)時(shí)間序列數(shù)據(jù)作圖7. Html5播放器實(shí)現(xiàn)倍速播放的方法示例8. Python進(jìn)行統(tǒng)計(jì)建模9. python對(duì)批量WAV音頻進(jìn)行等長(zhǎng)分割的方法實(shí)現(xiàn)10. asp.net core 認(rèn)證和授權(quán)實(shí)例詳解
