日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

plt图片输出 python_利用Python制作词云,wordcloud神器你值得拥有

發(fā)布時間:2024/10/8 python 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 plt图片输出 python_利用Python制作词云,wordcloud神器你值得拥有 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

相信許多人都看到過下面這樣的詞云圖,詞云圖是一種很好的可視化工具,其作用主要是為了文本數(shù)據(jù)的視覺表示,既酷炫又能突出重點。

關(guān)于詞云圖的制作,網(wǎng)上能夠搜集到很多的教程,許多都是利用了專用的工具,這些工具便捷又強大,但是它們普遍存在一個問題:功能太過專一,且適用范圍有限。

今天我們要嘗試的,是使用通用的編程語言python來制作詞云

python這門編程語言非常地簡單易用,即使看起來很復雜的設置,python用一個庫和幾條代碼就能搞定了~

第一步:下載并安裝Anaconda

進入Anaconda官網(wǎng),選擇適合你電腦的版本,推薦下載使用python3.6版本,因為在最新的版本當中,許多python之前的語言缺陷都得到了解決。

下載完成后,跟一般的軟件一樣安裝即可。安裝好后在cmd中打開jupyter book,并新建一個目錄。

第二步:分析文本生成詞云

詞云分析的對象,是文本。理論上講,文本可以是各種語言的。英文、中文、法文、阿拉伯文……

最近大家都在追權(quán)力的游戲,我就在wiki上面搜索權(quán)力的游戲并將一些文本復制粘貼,存入wordcloud的文本里。

wordcloud把詞云當作一個對象,它可以將文本中詞語出現(xiàn)的頻率作為一個參數(shù)繪制詞云,而詞云的大小、顏色、形狀等都是可以設定的。

生成一個漂亮的詞云文件三步就可以完成。即:

1、配置對象參數(shù)?

2、加載詞云文本??

3、輸出詞云文件 (如果不加說明默認的圖片大小為400 * 200)

首先安裝這個庫:

pip install wordcloud

簡單了解一下wordcloud庫的一些方法:

打開jupyter,進行詞云的繪制。

#讀取詞云文本
filename = "Game of Thrones.txt"
with open(filename) as f:
mytext = f.read()
mytext

然后導入詞云庫,利用 mytext 中存儲的文本內(nèi)容來制造詞云。

from wordcloud import WordCloud
wordcloud = WordCloud().generate(mytext)

這兩句代碼運行沒有任何的反應,但是此時詞云分析已經(jīng)完成了。制作詞云的核心步驟只需要這2行語句,而且第一條還只是從擴展包里找外援。但是程序并不會給我們顯示任何東西。

接下來我們需要python的一個強大庫,matplotlib,執(zhí)行下面的代碼,詞云圖就出來了。

%pylab inlineimport matplotlib.pyplot as plt
plt.imshow(wordcloud, interpolation='bilinear')
plt.axis("off")

丹尼真的是妥妥的大女主啊,臨冬城的出現(xiàn)比例也很大。

完整代碼如下:

filename = "Game of Thrones.txt"with open(filename) as f:
?mytext = f.read()from wordcloud import WordCloud
wordcloud = WordCloud().generate(mytext)
%pylab inlineimport matplotlib.pyplot as plt
plt.imshow(wordcloud, interpolation='bilinear')
plt.axis("off")

以上就是利用wordcloud制作詞云的方法,僅僅用了十行代碼就實現(xiàn)了喲~

第三步,自定義圖片詞云

上面的示例用的是英文文檔,默認輸出的詞云圖是長方形的,接下來我們要使用中文文檔,然后實現(xiàn)輸出有形狀的圖片。

這時僅僅使用wordcloud庫沒有辦法實現(xiàn)我們的需求,我們還需要使用jieba和scipy兩個庫。

在生成詞云的時候,Wordcloud默認是按照空格或者標點作為分割符來對目標文本進行分詞處理。

若是英文文本可直接調(diào)用,若是中文文本,則需要先對文本進行分詞處理然后用空格拼接,再調(diào)用wordcloud庫函數(shù)。

jieba是實現(xiàn)中文分詞的組件,它能夠?qū)⒕渥泳_的切開,適合做文本分析,還支持繁體分詞、自定義詞典等,關(guān)于jieba庫的細則可以查看文檔:https://pypi.org/project/jieba/

想要生成各種形狀的圖片,scipy庫是必不可少的圖片處理工具。

本次數(shù)據(jù)文檔選用權(quán)力的游戲第八季百度百科分集劇情的前4集內(nèi)容,將內(nèi)容存儲到一個txt文檔中。

既然需要生成自定義的詞云圖片,那么還需要準備一張圖片備用,建議使用純色背景的圖片,將圖片存儲后備用。

執(zhí)行下面的代碼即可生成圖片型的詞云圖:

#導入wordcloud模塊和matplotlib模塊from wordcloud import WordCloud,ImageColorGeneratorimport matplotlib.pyplot as pltfrom scipy.misc import imreadimport jieba#讀取一個txt文件
text = open(r'C:Users...權(quán)力的游戲.txt','r').read()#讀入背景圖片
bg_pic = imread(r'C:Users....jfif')
wordlist_after_jieba = jieba.cut(text, cut_all = True)
wl_space_split = " ".join(wordlist_after_jieba)#生成詞云
font = r'C:WindowsFontssimfang.ttf'
wc = WordCloud(mask=bg_pic,background_color='white',font_path=font, scale=1.5).generate(wl_space_split)
image_colors = ImageColorGenerator(bg_pic)#顯示詞云圖片
plt.imshow(wc)
plt.axis('off')
plt.show()

利用python制作詞云非常簡單,趕快動手操作起來吧!

- DataCastle -

總結(jié)

以上是生活随笔為你收集整理的plt图片输出 python_利用Python制作词云,wordcloud神器你值得拥有的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。