摘要:前言今天教大家用模塊來生成詞云,我讀取了一篇小說并生成了詞云,先看一下效果圖效果圖一效果圖二根據(jù)效果圖分析的還是比較準(zhǔn)確的,小說中的主人公就是程理,所以出現(xiàn)次數(shù)最多。
前言
今天教大家用wrodcloud模塊來生成詞云,我讀取了一篇小說并生成了詞云,先看一下效果圖:
效果圖一:
效果圖二:
根據(jù)效果圖分析的還是比較準(zhǔn)確的,小說中的主人公就是“程理”,所以出現(xiàn)次數(shù)最多。圖中有兩種模式,一種是默認(rèn)的模式,另一種是自己添加圖片作為背景。下面我就帶大家一起來學(xué)習(xí)怎樣去生成詞云!
wordcloud的安裝對(duì)于新人來說安裝wordcloud模塊就是一大關(guān),我們一般都是通過Pycharm或者PIP安裝的,但是在安裝wordcloud時(shí)會(huì)提示錯(cuò)誤,如下:
我的解決方法是直接訪問下面的網(wǎng)址,根據(jù)你的電腦和py版本下載對(duì)應(yīng)的whl文件
https://www.lfd.uci.edu/~gohl...
下載完成后,把whl文件放在pip路徑下,輸入下面的代碼,記住代碼的whl文件名一定是適合你的文件名,我只是舉例:
pip?install?wordcloud-1.4.1-cp36-cp36m-win32.whl
運(yùn)行后會(huì)顯示安裝成功
wordcloud的簡(jiǎn)單用法wordcloud的基本方法,看源碼如下:
各個(gè)參數(shù)大家應(yīng)該一看就明白,另外wordcloud還有幾個(gè)其他方法,比如fit_words,generate(text),to_file(filename)等等都是非常好理解的。
wordcloud生成詞云效果圖一的代碼:
from?wordcloud?import?WordCloud import?matplotlib.pyplot?as?plt ?#繪制圖像的模塊 import??jieba ? ? ? ? ? ? ? ? ? ?#jieba分詞 path_txt="C://Users/Administrator/Desktop/all.txt" f = open(path_txt,"r",encoding="UTF-8").read() # 結(jié)巴分詞,生成字符串,wordcloud無法直接生成正確的中文詞云 cut_text =?" ".join(jieba.cut(f)) wordcloud = WordCloud( ? ?#設(shè)置字體,不然會(huì)出現(xiàn)口字亂碼,文字的路徑是電腦的字體一般路徑,可以換成別的 ? ?font_path="C:/Windows/Fonts/simfang.ttf", ? ?#設(shè)置了背景,寬高 ? ?background_color="white",width=1000,height=880).generate(cut_text) plt.imshow(wordcloud, interpolation="bilinear") plt.axis("off") plt.show()
運(yùn)行后:
效果圖二,給詞云加上圖片背景,代碼如下:
from?PIL?import?Image from?wordcloud?import?WordCloud, ImageColorGenerator import?matplotlib.pyplot?as?plt import?numpy?as?np import??jieba def?GetWordCloud(): ? ?path_txt =?"C://Users/Administrator/Desktop/all.txt" ? ?path_img =?"C://Users/Administrator/Desktop/timg.jpg" ? ?f = open(path_txt,?"r", encoding="UTF-8").read() ? ?background_image = np.array(Image.open(path_img)) ? ?# 結(jié)巴分詞,生成字符串,如果不通過分詞,無法直接生成正確的中文詞云,感興趣的朋友可以去查一下,有多種分詞模式 ? ?#Python join() 方法用于將序列中的元素以指定的字符連接生成一個(gè)新的字符串。 ? ?cut_text =?" ".join(jieba.cut(f)) ? ?wordcloud = WordCloud( ? ? ? ?# 設(shè)置字體,不然會(huì)出現(xiàn)口字亂碼,文字的路徑是電腦的字體一般路徑,可以換成別的 ? ? ? ?font_path="C:/Windows/Fonts/simfang.ttf", ? ? ? ?background_color="white", ? ? ? ?# mask參數(shù)=圖片背景,必須要寫上,另外有mask參數(shù)再設(shè)定寬高是無效的 ? ? ? ?mask=background_image).generate(cut_text) ? ?# 生成顏色值 ? ?image_colors = ImageColorGenerator(background_image) ? ?# 下面代碼表示顯示圖片 ? ?plt.imshow(wordcloud.recolor(color_func=image_colors), interpolation="bilinear") ? ?plt.axis("off") ? ?plt.show() if?__name__ ==?"__main__": ? ?GetWordCloud()
運(yùn)行后:
如果有不懂的朋友可以直接在公眾號(hào)上加我的微信,希望對(duì)大家有所幫助!
大家可以關(guān)注我的微信公眾號(hào):「秦子帥」一個(gè)有質(zhì)量、有態(tài)度的公眾號(hào)!
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/41806.html
Python pyecharts作為常用的數(shù)據(jù)可視化軟件,能夠清晰的將海量的數(shù)據(jù),去做一個(gè)拆分,要是更直觀的去查看數(shù)據(jù)圖表的話,就需要去制作云圖了?那么,怎么制作云圖呢?下面就給大家詳細(xì)的做個(gè)解答。 詞云圖 什么是詞云圖,相信大家肯定不會(huì)感到陌生,一本書統(tǒng)計(jì)里面出現(xiàn)的詞頻,然后可視化展示,讓讀者快速的了解這個(gè)主題綱要,這就是詞云的直接效果。 詞云圖系列模板 固定模式詞云圖 修改一些參...
摘要:時(shí)間永遠(yuǎn)都過得那么快,一晃從年注冊(cè),到現(xiàn)在已經(jīng)過去了年那些被我藏在收藏夾吃灰的文章,已經(jīng)太多了,是時(shí)候把他們整理一下了。那是因?yàn)槭詹貖A太亂,橡皮擦給設(shè)置私密了,不收拾不好看呀。 ...
摘要:上面是生成詞云的方法封裝,還有一些其他方法根據(jù)詞頻生成詞云根據(jù)文本生成詞云根據(jù)詞頻生成詞云根據(jù)文本生成詞云將長文本分詞并去除屏蔽詞此處指英語,中文分詞還是需要自己用別的庫先行實(shí)現(xiàn),使用上面的對(duì)現(xiàn)有輸出重新著色。 對(duì)于數(shù)據(jù)展示這一塊有時(shí)候會(huì)用到詞云,python中提供的wordcloud模塊可以很靈活的完成生成詞云除了使用python提供的wordcloud模塊以為還有在線的生成方式ht...
摘要:處理文件最終得到的字符串得到所有的文本之后,使用結(jié)巴分詞,處理成單個(gè)的詞語。 文章鏈接:https://mp.weixin.qq.com/s/NmJjTEADV6zKdT--2DXq9Q 回看18年,最有成就的就是有了自己的 博客網(wǎng)站,堅(jiān)持記錄,寫文章,累計(jì)寫了36篇了,從一開始的難以下手,到現(xiàn)在成為一種習(xí)慣,雖然每次寫都會(huì)一字一句斟酌,但是每次看到產(chǎn)出,內(nèi)心還是開心的,享受這樣的過...
摘要:庫常規(guī)方法方法描述例子向?qū)ο笾屑虞d文本將詞云輸出為圖像文件,或格式應(yīng)用實(shí)例配置對(duì)象參數(shù)加載詞云文本輸出詞云文件分隔以空格分隔單詞統(tǒng)計(jì)單詞出現(xiàn)次數(shù)并過濾字體根據(jù)統(tǒng)計(jì)配置字號(hào)布局顏色環(huán)境尺寸配置對(duì)象參數(shù)參數(shù)參數(shù)描述例子指定詞云對(duì)象生成圖片的寬度 wordcloud庫常規(guī)方法 w = wordcloud.WordCloud() 方法 描述 例子 w.generate(txt) 向w...
閱讀 2820·2021-10-11 10:57
閱讀 2417·2021-08-27 16:20
閱讀 1395·2019-08-30 13:03
閱讀 1572·2019-08-30 12:50
閱讀 3352·2019-08-29 14:16
閱讀 1569·2019-08-29 11:12
閱讀 1622·2019-08-28 17:53
閱讀 2903·2019-08-27 10:58