摘要:上面是生成詞云的方法封裝,還有一些其他方法根據(jù)詞頻生成詞云根據(jù)文本生成詞云根據(jù)詞頻生成詞云根據(jù)文本生成詞云將長文本分詞并去除屏蔽詞此處指英語,中文分詞還是需要自己用別的庫先行實現(xiàn),使用上面的對現(xiàn)有輸出重新著色。
對于數(shù)據(jù)展示這一塊有時候會用到詞云,python中提供的wordcloud模塊可以很靈活的完成安裝wordcloud
生成詞云除了使用python提供的wordcloud模塊以為還有在線的生成方式https://wordart.com/
安裝wordcloud有兩種方式,一是直接通過pip install wordcloud
如果一直安裝失敗可以嘗試下面的方式,首先在鏈接中找到對應(yīng)的版本進行下載https://www.lfd.uci.edu/~gohl...
在命令行中找到下載文件對應(yīng)的目錄進行安裝
wordcloud 提供生成詞云方法的使用,其實具體只要看一下參數(shù)就可以
class wordcloud.WordCloud(font_path=None, width=400, height=200, margin=2, ranks_only=None, prefer_horizontal=0.9,mask=None, scale=1, color_func=None, max_words=200, min_font_size=4, stopwords=None, random_state=None,background_color="black", max_font_size=None, font_step=1, mode="RGB", relative_scaling=0.5, regexp=None, collocations=True,colormap=None, normalize_plurals=True) #對應(yīng)參數(shù)的意思 font_path : string //字體路徑,需要展現(xiàn)什么字體就把該字體路徑+后綴名寫上,如:font_path = "黑體.ttf"如果不指定字體中文字的顯示不出來 width : int (default=400) //輸出的畫布寬度,默認為400像素 height : int (default=200) //輸出的畫布高度,默認為200像素 prefer_horizontal : float (default=0.90) //詞語水平方向排版出現(xiàn)的頻率,默認 0.9 (所以詞語垂直方向排版出現(xiàn)頻率為 0.1 ) mask : nd-array or None (default=None) //如果參數(shù)為空,則使用二維遮罩繪制詞云。如果 mask 非空,設(shè)置的寬高值將被忽略,遮罩形狀被 mask 取代。除全白(#FFFFFF)的部分將不會繪制,其余部分會用于繪制詞云。如:bg_pic = imread("讀取一張圖片.png"),背景圖片的畫布一定要設(shè)置為白色(#FFFFFF),然后顯示的形狀為不是白色的其他顏色??梢杂胮s工具將自己要顯示的形狀復(fù)制到一個純白色的畫布上再保存,就ok了。 scale : float (default=1) //按照比例進行放大畫布,如設(shè)置為1.5,則長和寬都是原來畫布的1.5倍。 min_font_size : int (default=4) //顯示的最小的字體大小 font_step : int (default=1) //字體步長,如果步長大于1,會加快運算但是可能導(dǎo)致結(jié)果出現(xiàn)較大的誤差。 max_words : number (default=200) //要顯示的詞的最大個數(shù) stopwords : set of strings or None //設(shè)置需要屏蔽的詞,如果為空,則使用內(nèi)置的STOPWORDS background_color : color value (default=”black”) //背景顏色,如background_color="white",背景顏色為白色。 max_font_size : int or None (default=None) //顯示的最大的字體大小 mode : string (default=”RGB”) //當參數(shù)為“RGBA”并且background_color不為空時,背景為透明。 relative_scaling : float (default=.5) //詞頻和字體大小的關(guān)聯(lián)性 color_func : callable, default=None //生成新顏色的函數(shù),如果為空,則使用 self.color_func regexp : string or None (optional) //使用正則表達式分隔輸入的文本 collocations : bool, default=True //是否包括兩個詞的搭配 colormap : string or matplotlib colormap, default=”viridis” //給每個單詞隨機分配顏色,若指定color_func,則忽略該方法。
上面是生成詞云的方法封裝,還有一些其他方法:
fit_words(frequencies) //根據(jù)詞頻生成詞云 generate(text) //根據(jù)文本生成詞云 generate_from_frequencies(frequencies[, ...]) //根據(jù)詞頻生成詞云 generate_from_text(text) //根據(jù)文本生成詞云 process_text(text) //將長文本分詞并去除屏蔽詞(此處指英語,中文分詞還是需要自己用別的庫先行實現(xiàn),使用上面的 fit_words(frequencies) ) recolor([random_state, color_func, colormap]) //對現(xiàn)有輸出重新著色。重新上色會比重新生成整個詞云快很多。 to_array() //轉(zhuǎn)化為 numpy array to_file(filename) //輸出到文件,很多時候詞云最后都需要保存到圖片中根據(jù)圖像生成歌詞詞云
首先,詞云可以自己指定大小,也可以顯示到圖像上繪制,圖像在選擇上,盡量不要選擇太復(fù)雜的圖像,簡單的黑白對比它識別的最好,如果沒有適合的圖片,自己打開畫圖畫一個就是,下面我們來畫一個晴天娃娃
這個有點丑,但是意思就這個,接下來創(chuàng)建一個文本文件,把歌詞放進去
test.txt 內(nèi)容如下
你的繪畫凌亂著 在這個時刻 我像氣氛純白的白鴿 甜蜜散落了 繼續(xù)莫名的拉扯 我還愛你呢 而你斷斷續(xù)續(xù)唱著歌 假裝沒事了 時間過了 走了 愛情面臨選擇 你冷了 倦了 我哭了 一開始都不快樂 你用卡片紙寫著 有些愛只給到這 真的痛了 怎么了 你累了 說好的 幸福呢 我懂了 不說了 愛淡了 夢遠了 開心與不開心依稀數(shù)著你在不舍 那些愛過的感覺都太深刻 我都還記得 你不懂了 說好的 幸福呢 我錯了 淚干了 放手了 后悔了 只是回憶的音樂盒還旋轉(zhuǎn)著 要怎么停呢 你的繪畫凌亂著 在這個時刻 我像氣氛純白的白鴿 甜蜜散落了 繼續(xù)莫名的拉扯 我還愛你呢 而你斷斷續(xù)續(xù)唱著歌 假裝沒事了 時間過了 走了 愛情面臨選擇 你冷了 倦了 我哭了 一開始都不快樂 你用卡片紙寫著 有些愛只給到這 真的痛了 怎么了 你累了 說好的 幸福呢 我懂了 不說了 愛淡了 夢遠了 開心與不開心依稀數(shù)著你在不舍 那些愛過的感覺都太深刻 我都還記得 你不懂了 說好的 幸福呢 我錯了 淚干了 放手了 后悔了 只是回憶的音樂盒還旋轉(zhuǎn)著 要怎么停呢 怎么了 你累了 說好的 幸福呢 我懂了 不說了 愛淡了 夢遠了 我都還記得 你不懂了 說好的 幸福呢 我錯了 淚干了 放手了 后悔了 只是回憶的音樂盒還旋轉(zhuǎn)著 要怎么停呢
開始生成詞云,最后輸出一個圖片文件
#導(dǎo)入wordcloud模塊 from wordcloud import WordCloud from scipy.misc import imread #讀取一個txt文件 text = open("C:UsersAdministratorDesktoppython est.txt","r", encoding="UTF-8").read() #讀入背景圖片 bg_pic = imread("C:UsersAdministratorDesktoppython3.png") #生成詞云 wordcloud = WordCloud(font_path="C:WindowsFontssimfang.ttf",mask=bg_pic,background_color="white",scale=1.5).generate(text) #保存圖片 wordcloud.to_file("test.jpg")
最后文件夾內(nèi)會多出一個test.jpg文件,打開就是根據(jù)這個歌詞的文本文件生成好的詞云了
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/41361.html
摘要:詞云可以通過網(wǎng)站紐扣詞云來制作,然而可以通過代碼來實現(xiàn),下面開始吧。 詞云可以通過網(wǎng)站 https://wordart.com/ 紐扣詞云http://cloud.niucodata.com/ 來制作,然而 Python 可以通過代碼來實現(xiàn),下面開始吧。 showImg(https://segmentfault.com/img/bVQzIx?w=874&h=416); pip inst...
摘要:處理文件最終得到的字符串得到所有的文本之后,使用結(jié)巴分詞,處理成單個的詞語。 文章鏈接:https://mp.weixin.qq.com/s/NmJjTEADV6zKdT--2DXq9Q 回看18年,最有成就的就是有了自己的 博客網(wǎng)站,堅持記錄,寫文章,累計寫了36篇了,從一開始的難以下手,到現(xiàn)在成為一種習(xí)慣,雖然每次寫都會一字一句斟酌,但是每次看到產(chǎn)出,內(nèi)心還是開心的,享受這樣的過...
摘要:前言今天教大家用模塊來生成詞云,我讀取了一篇小說并生成了詞云,先看一下效果圖效果圖一效果圖二根據(jù)效果圖分析的還是比較準確的,小說中的主人公就是程理,所以出現(xiàn)次數(shù)最多。 前言 今天教大家用wrodcloud模塊來生成詞云,我讀取了一篇小說并生成了詞云,先看一下效果圖: 效果圖一: showImg(https://segmentfault.com/img/remote/1460000015...
摘要:庫常規(guī)方法方法描述例子向?qū)ο笾屑虞d文本將詞云輸出為圖像文件,或格式應(yīng)用實例配置對象參數(shù)加載詞云文本輸出詞云文件分隔以空格分隔單詞統(tǒng)計單詞出現(xiàn)次數(shù)并過濾字體根據(jù)統(tǒng)計配置字號布局顏色環(huán)境尺寸配置對象參數(shù)參數(shù)參數(shù)描述例子指定詞云對象生成圖片的寬度 wordcloud庫常規(guī)方法 w = wordcloud.WordCloud() 方法 描述 例子 w.generate(txt) 向w...
摘要:最初產(chǎn)生這個項目的想法應(yīng)該是在年月份,當時正在學(xué)習(xí)中,就萌生了這樣一個想法從一個用戶這一年發(fā)布的微博數(shù)據(jù)中,提取最有意義的個關(guān)鍵詞。這些東西提交完就可以提交審核了,微博應(yīng)用審核的速度還算比較快的,一兩天基本差不多會審核完。 最初產(chǎn)生這個項目的想法應(yīng)該是在2018年10月份,當時正在學(xué)習(xí)python中,就萌生了這樣一個想法:從一個用戶這一年發(fā)布的微博數(shù)據(jù)中,提取最有意義的top50個關(guān)鍵...
閱讀 1649·2023-04-25 18:19
閱讀 2093·2021-10-26 09:48
閱讀 1100·2021-10-09 09:44
閱讀 1748·2021-09-09 11:35
閱讀 3041·2019-08-30 15:54
閱讀 2039·2019-08-30 11:26
閱讀 2299·2019-08-29 17:06
閱讀 895·2019-08-29 16:38