在繪制詞云圖時發現有的字顏色為黃色導致看不清因此需要修改整個詞云圖的色調為冷色調
具體的來說
wordcloud中的color_func 參數使得我們能夠自定義顏色函數
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官網也沒找到操作方法,干脆就直接看源代碼了
然后從里面復制出來一小段代碼:
color_func=lambda *args, **kwargs: "red"
把這段代碼與字體之類的參數一起賦給詞云變量就可以了,如下:
w=wordcloud.WordCloud(font_path='msyh.ttc',mask=mianju,\
width=1000,height=700,background_color='white',mode='RGBA',color_func=lambda *args, **kwargs: "red")
以下是完整代碼,和相應名稱的圖片和文本文檔放一起就成了
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')
以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。如有錯誤或未考慮完全的地方,望不吝賜教。
您可能感興趣的文章:- python提取word文件中的所有圖片
- python實現某考試系統生成word試卷
- 使用Python自動化Microsoft Excel和Word的操作方法
- Python 制作詞云的WordCloud參數用法說明
- Python 自動化修改word的案例
- python 將Excel轉Word的示例
- Python實現Word文檔轉換Markdown的示例
- python3處理word文檔實例分析
- Python word文本自動化操作實現方法解析
- Python快速優雅的批量修改Word文檔樣式