用python實現(xiàn)詞云效果實例介紹
什么是詞云
詞云其實就是就是對網(wǎng)絡(luò)文本中出現(xiàn)頻率較高的〝關(guān)鍵詞〞予以視覺上的突出,形成〝關(guān)鍵詞云層〞或〝關(guān)鍵詞渲染〞從而過濾掉大量的文本信息
詞云也是數(shù)據(jù)可視化的一種形式。給出一段文本,根據(jù)關(guān)鍵詞的出現(xiàn)頻率而生成的一幅圖像,人們只要掃一眼就能夠明白其文章主旨。
一、特效預覽
詞云圖
二、程序原理
從給出的文本中,進行分詞處理,然后將每個詞出現(xiàn)的的頻率進行統(tǒng)計從給出的背景圖片上,讀出圖片信息將文本按照出現(xiàn)的頻率進行畫圖,出現(xiàn)頻率越高,字體設(shè)置越大
你聽懂了嗎
三、程序源碼
jieba模塊:用來進行分詞處理PIL模塊:用來進行圖片處理wordcloud模塊:用來進行生成詞云
#!/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è)置字體,不指定就會出現(xiàn)亂碼 font_path='/System/Library/Fonts/PingFang.ttc', # 設(shè)置背景色 background_color='white', # 詞云形狀 mask=color_mask, # 允許最大詞匯 max_words=120, # 最大號字體 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實現(xiàn)詞云效果實例介紹的文章就介紹到這了,更多相關(guān)python詞云內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Pygame游戲開發(fā)之太空射擊實戰(zhàn)敵人精靈篇
相信大多數(shù)8090后都玩過太空射擊游戲,在過去游戲不多的年代太空射擊自然屬于經(jīng)典好玩的一款了,今天我們來自己動手實現(xiàn)它,在編寫學習中回顧過往展望未來,下面開始講解敵人精靈的使用2022-08-08Python使用Py2neo創(chuàng)建Neo4j的節(jié)點和關(guān)系
Neo4j是一款開源圖數(shù)據(jù)庫,使用Python語言訪問Neo4j可以使用Py2neo。本文介紹了使用Py2neo訪問Neo4j,批量創(chuàng)建節(jié)點和關(guān)系的方法2021-08-08Python庫?Bokeh?數(shù)據(jù)可視化實用指南
大家好,今天跟大家分享的是交互式可視化神器?Python?Bokeh?的詳細使用教程,Bokeh是一個面向現(xiàn)代web瀏覽器的交互式可視化庫。它提供了多功能圖形的優(yōu)雅、簡潔的構(gòu)造,并在大型數(shù)據(jù)集或流式數(shù)據(jù)集上提供了高性能的交互性,接下來讓我們詳細看看吧2021-11-11Python爬蟲過程解析之多線程獲取小米應(yīng)用商店數(shù)據(jù)
這篇文章主要介紹了Python爬蟲過程解析之多線程獲取小米應(yīng)用商店數(shù)據(jù),本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-11-11Python+requests+unittest執(zhí)行接口自動化測試詳情
這篇文章主要介紹了Python+requests+unittest執(zhí)行接口自動化測試詳情,文章圍繞主題展開詳細的內(nèi)容介紹,具有一定的參考價值,需要的朋友可以參考一下2022-09-09