用python實(shí)現(xiàn)詞云效果實(shí)例介紹
什么是詞云
詞云其實(shí)就是就是對(duì)網(wǎng)絡(luò)文本中出現(xiàn)頻率較高的〝關(guān)鍵詞〞予以視覺上的突出,形成〝關(guān)鍵詞云層〞或〝關(guān)鍵詞渲染〞從而過濾掉大量的文本信息
詞云也是數(shù)據(jù)可視化的一種形式。給出一段文本,根據(jù)關(guān)鍵詞的出現(xiàn)頻率而生成的一幅圖像,人們只要掃一眼就能夠明白其文章主旨。
一、特效預(yù)覽
詞云圖
二、程序原理
從給出的文本中,進(jìn)行分詞處理,然后將每個(gè)詞出現(xiàn)的的頻率進(jìn)行統(tǒng)計(jì)從給出的背景圖片上,讀出圖片信息將文本按照出現(xiàn)的頻率進(jìn)行畫圖,出現(xiàn)頻率越高,字體設(shè)置越大
你聽懂了嗎
三、程序源碼
jieba模塊:用來進(jìn)行分詞處理PIL模塊:用來進(jìn)行圖片處理wordcloud模塊:用來進(jìn)行生成詞云
#!/usr/bin/env python # encoding: utf-8 import jieba import numpy as np import PIL.Image as Image from wordcloud import WordCloud class wordCloud: ''' This is a main Class, the file contains all documents. One document contains paragraphs that have several sentences It loads the original file and converts the original file to new content Then the new content will be saved by this class ''' def __init__(self): self.bg_img = 'assets/picture.jpeg' self.word_path = 'assets/word.txt' def hello(self): ''' This is a welcome speech :return: self ''' print('*' * 50) print(' ' * 20 + '詞云制作') print(' ' * 5 + 'Author: autofelix Date: 2022-01-17 13:14') print('*' * 50) return self def run(self): ''' The program entry ''' with open(self.word_path, 'r') as f: word = f.read() cut_word = ' '.join(jieba.cut(word)) color_mask = np.array(Image.open(self.bg_img)) word_cloud = WordCloud( # 設(shè)置字體,不指定就會(huì)出現(xiàn)亂碼 font_path='/System/Library/Fonts/PingFang.ttc', # 設(shè)置背景色 background_color='white', # 詞云形狀 mask=color_mask, # 允許最大詞匯 max_words=120, # 最大號(hào)字體 max_font_size=2000 ).generate(cut_word) word_cloud.to_file('word_cloud.jpg') im = word_cloud.to_image() im.show() if __name__ == '__main__': wordCloud().hello().run()
總結(jié)
到此這篇關(guān)于用python實(shí)現(xiàn)詞云效果實(shí)例介紹的文章就介紹到這了,更多相關(guān)python詞云內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Pygame游戲開發(fā)之太空射擊實(shí)戰(zhàn)敵人精靈篇
相信大多數(shù)8090后都玩過太空射擊游戲,在過去游戲不多的年代太空射擊自然屬于經(jīng)典好玩的一款了,今天我們來自己動(dòng)手實(shí)現(xiàn)它,在編寫學(xué)習(xí)中回顧過往展望未來,下面開始講解敵人精靈的使用2022-08-08利用matplotlib+numpy繪制多種繪圖的方法實(shí)例
matplotlib是Python最著名的繪圖庫,本文給大家分享了利用matplotlib+numpy繪制多種繪圖的方法實(shí)例,其中包括填充圖、散點(diǎn)圖(scatter plots)、. 條形圖(bar plots)、等高線圖(contour plots)、 點(diǎn)陣圖和3D圖,需要的朋友可以參考借鑒,下面來一起看看吧。2017-05-05Python使用Py2neo創(chuàng)建Neo4j的節(jié)點(diǎn)和關(guān)系
Neo4j是一款開源圖數(shù)據(jù)庫,使用Python語言訪問Neo4j可以使用Py2neo。本文介紹了使用Py2neo訪問Neo4j,批量創(chuàng)建節(jié)點(diǎn)和關(guān)系的方法2021-08-08Python庫?Bokeh?數(shù)據(jù)可視化實(shí)用指南
大家好,今天跟大家分享的是交互式可視化神器?Python?Bokeh?的詳細(xì)使用教程,Bokeh是一個(gè)面向現(xiàn)代web瀏覽器的交互式可視化庫。它提供了多功能圖形的優(yōu)雅、簡(jiǎn)潔的構(gòu)造,并在大型數(shù)據(jù)集或流式數(shù)據(jù)集上提供了高性能的交互性,接下來讓我們?cè)敿?xì)看看吧2021-11-11Python爬蟲過程解析之多線程獲取小米應(yīng)用商店數(shù)據(jù)
這篇文章主要介紹了Python爬蟲過程解析之多線程獲取小米應(yīng)用商店數(shù)據(jù),本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-11-11Python+requests+unittest執(zhí)行接口自動(dòng)化測(cè)試詳情
這篇文章主要介紹了Python+requests+unittest執(zhí)行接口自動(dòng)化測(cè)試詳情,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的朋友可以參考一下2022-09-09