摘要:最近正好想做一個人的,于是乎決定使用詞云來制作完成。如果非空,設置的寬高值將被忽略,形狀被取代。除白色的部分將不會繪制,其余部分會用于繪制詞云。顯示的最大的字體大小當參數為并且不為空時,背景為透明。效果展示使用的照片是博主自己的照片。
作者:xiaoyu
微信公眾號:Python數據科學
知乎:python數據分析師
詞云的使用相信大家已經不陌生了,使用很簡單,直接調用wordcloud包就可以了。它的主要功能是根據文本詞匯和詞匯頻率生成圖片,從中可以直觀的看出各個詞匯所占比重。最近正好想做一個人的logo,于是乎決定使用詞云來制作完成。
wordcloud安裝pip install wordcloud
使用 pip 安裝你肯定會遇到一個坑,安裝過程中可能會報錯,提示你安裝 Microsoft Visual C++ 14.0,但是這個安裝過程很耗時。
有另一個方法可以解決,就是下載相應的whl文件安裝。下載鏈接:https://www.lfd.uci.edu/~gohlke/pythonlibs/#wordcloud
文件下載后,cmd 進入whl文件所在文件夾下,然后輸入以下命令:
pip install wordcloud-1.4.1-cp36-cp36m-win_amd64.whlwordcloud代碼使用
安裝成功后我們馬上開始制作我們的圖片。
from os import path from PIL import Image import numpy as np import matplotlib.pyplot as plt from wordcloud import WordCloud, STOPWORDS, ImageColorGenerator d = path.dirname(__file__) # 讀文本文件 text = open(path.join(d, "data.txt")).read() # 讀取自定義圖片 alice_coloring = np.array(Image.open(path.join(d, "pic.jpg"))) # 你可以通過 mask 參數 來設置詞云形狀 wc = WordCloud(background_color="white",max_words=2000, mask=alice_coloring, max_font_size=60,random_state=102,scale=8, font_path="C:WindowsFontsmsyhbd.ttf").generate(text) wc.generate_from_text(text) print("開始加載文本") # 改變字體顏色 img_colors = ImageColorGenerator(alice_coloring) # 字體顏色為背景圖片的顏色 wc.recolor(color_func=img_colors) # 顯示詞云圖 plt.imshow(wc, interpolation="bilinear") # 是否顯示x軸、y軸下標 plt.axis("off") plt.show() # 獲得模塊所在的路徑的 d = path.dirname(__file__) # 將多個路徑組合后返回 wc.to_file(path.join(d, "h16.jpg")) print("生成詞云成功!")
上面 text 文本內容是通過爬蟲采集的,爬取的關于數據科學的一篇文章,有了文本源之后準備好你想要生成詞云的圖片就行了。
配置 wordcloud 的參數對于圖片效果尤為重要,下面我們著重介紹一下wordcloud的參數含義:
font_path : string 字體路徑,需要展現什么字體就把該字體路徑+后綴名寫上,如:font_path = "黑體.ttf"
width : int (default=400) 輸出的畫布寬度,默認為400像素
height : int (default=200) 輸出的畫布高度,默認為200像素
prefer_horizontal : float (default=0.90) 詞語水平方向排版出現的頻率,默認 0.9
mask : nd-array or None (default=None) 若參數為空,則正常繪制詞云。如果 mask 非空,設置的寬高值將被忽略,形狀被 mask 取代。除白色的部分將不會繪制,其余部分會用于繪制詞云。
scale : float (default=1) 按照比例進行放大畫布,如設置為2,則長和寬都是原來畫布的2倍。
min_font_size : int (default=4) 顯示的最小的字體大小
font_step : int (default=1) 字體步長,如果步長大于1,會加快運算但是可能導致結果出現較大的誤差。
max_words : number (default=200) 要顯示的詞的最大個數
stopwords : set of strings or None 設置需要屏蔽的詞,如果為空,則使用內置的STOPWORDS
background_color : color value (default=”black”) 背景顏色,如background_color="white",背景顏色為白色。
max_font_size : int or None (default=None) 顯示的最大的字體大小
mode : string (default=”RGB”) 當參數為“RGBA”并且background_color不為空時,背景為透明。
relative_scaling : float (default=.5) 詞頻和字體大小的關聯性
color_func : callable, default=None 生成新顏色的函數,如果為空,則使用 self.color_func
regexp : string or None (optional) 使用正則表達式分隔輸入的文本
collocations : bool, default=True 是否包括兩個詞的搭配
colormap : string or matplotlib colormap, default=”viridis” 給每個單詞隨機分配顏色,若指定color_func,則忽略該方法。
效果展示使用的照片是博主自己的照片。
——————end——————
關注微信公眾號Python數據科學,獲取 120G 人工智能 學習資料。
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/41682.html
摘要:我選擇的是萬網,阿里下面的。然后在主題配置文件下添加主題配置文件中添加自定義樣式不得不說還是很人性化的,你可以個性化定制你的網站,你所有的改動需要放在主題文件的文件中,會 前言 本篇文章是在已經搭建好gitpage+hexo的博客的前提下(不懂怎么搭建的可以參考我的另一篇博文:了解githubPages+hexo搭建博客的原理 或者利用Gitpage+hexo開發自己的博客,這兩篇博文...
摘要:我選擇的是萬網,阿里下面的。然后在主題配置文件下添加主題配置文件中添加自定義樣式不得不說還是很人性化的,你可以個性化定制你的網站,你所有的改動需要放在主題文件的文件中,會 前言 本篇文章是在已經搭建好gitpage+hexo的博客的前提下(不懂怎么搭建的可以參考我的另一篇博文:了解githubPages+hexo搭建博客的原理 或者利用Gitpage+hexo開發自己的博客,這兩篇博文...
摘要:我選擇的是萬網,阿里下面的。然后在主題配置文件下添加主題配置文件中添加自定義樣式不得不說還是很人性化的,你可以個性化定制你的網站,你所有的改動需要放在主題文件的文件中,會 前言 本篇文章是在已經搭建好gitpage+hexo的博客的前提下(不懂怎么搭建的可以參考我的另一篇博文:了解githubPages+hexo搭建博客的原理 或者利用Gitpage+hexo開發自己的博客,這兩篇博文...
摘要:為啥你天天刷抖音一點都不煩,因為你覺得視頻好看你有興趣啊。比如我們說你玩是不是要開始搭建一個自己的網站,是不是可以自己寫一個小的腳本來自動發消息給你的女朋友等等,通過這樣的小例子來慢慢的培養自己的學習的興趣。學習,切勿貪快貪多。 大家好,我是菜鳥哥! 周末啦,跟大家聊一下我們粉絲團的情況...
摘要:我是一個迪士尼樂園的愛好者,我想擁有一塊大屏能實時顯示迪士尼樂園的情況,以便我覺得今天去不去樂園,去樂園玩什么項目。。。完成效果附上我的小書房,這下抬頭就可以看到樂園的實況,是不是很方便呢附上我的微信,歡迎喜歡迪士尼和前后端的一起交流 showImg(https://segmentfault.com/img/remote/1460000012585263?w=1800&h=1200);...
閱讀 1822·2021-09-22 15:54
閱讀 2935·2021-09-01 10:42
閱讀 3448·2019-08-30 15:56
閱讀 1442·2019-08-29 18:46
閱讀 2473·2019-08-29 10:57
閱讀 2714·2019-08-28 17:57
閱讀 3667·2019-08-23 18:14
閱讀 839·2019-08-23 17:03