用python實(shí)現(xiàn)詞云效果實(shí)例介紹
什么是詞云
詞云其實(shí)就是就是對(duì)網(wǎng)絡(luò)文本中出現(xiàn)頻率較高的〝關(guān)鍵詞〞予以視覺(jué)上的突出,形成〝關(guān)鍵詞云層〞或〝關(guān)鍵詞渲染〞從而過(guò)濾掉大量的文本信息
詞云也是數(shù)據(jù)可視化的一種形式。給出一段文本,根據(jù)關(guān)鍵詞的出現(xiàn)頻率而生成的一幅圖像,人們只要掃一眼就能夠明白其文章主旨。
一、特效預(yù)覽

詞云圖
二、程序原理
從給出的文本中,進(jìn)行分詞處理,然后將每個(gè)詞出現(xiàn)的的頻率進(jìn)行統(tǒng)計(jì)從給出的背景圖片上,讀出圖片信息將文本按照出現(xiàn)的頻率進(jìn)行畫(huà)圖,出現(xiàn)頻率越高,字體設(shè)置越大

你聽(tīng)懂了嗎
三、程序源碼
jieba模塊:用來(lái)進(jìn)行分詞處理PIL模塊:用來(lái)進(jìn)行圖片處理wordcloud模塊:用來(lái)進(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)文章
利用Python實(shí)現(xiàn)炸彈人游戲的完整代碼
這篇文章主要介紹了如何使用Python的Pygame庫(kù)實(shí)現(xiàn)一個(gè)炸彈人游戲,并對(duì)其進(jìn)行多方面的優(yōu)化,文中通過(guò)代碼介紹的非常詳細(xì),需要的朋友可以參考下2025-01-01
Python實(shí)現(xiàn)獲取當(dāng)前日期的所屬信息
在Python中,處理日期和時(shí)間是一個(gè)常見(jiàn)的任務(wù),它涉及到許多方面,例如獲取日期的年、月、日、星期幾等等,本文將詳細(xì)介紹如何使用Python來(lái)獲取當(dāng)前日期的各種相關(guān)信息,需要的可以了解下2024-01-01
Python實(shí)現(xiàn)計(jì)算信息熵的示例代碼
信息熵(information?entropy)是信息論的基本概念。描述信息源各可能事件發(fā)生的不確定性。本文將通過(guò)Python實(shí)現(xiàn)信息熵的計(jì)算,感興趣的可以了解一下2022-12-12
Python 日期的轉(zhuǎn)換及計(jì)算的具體使用詳解
這篇文章主要介紹了Python 日期的轉(zhuǎn)換及計(jì)算的具體使用詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-01-01
Python加密方法小結(jié)【md5,base64,sha1】
這篇文章主要介紹了Python加密方法,結(jié)合實(shí)例形式總結(jié)分析了md5,base64,sha1的簡(jiǎn)單加密方法,需要的朋友可以參考下2017-07-07
使用Python保存網(wǎng)頁(yè)上的圖片或者保存頁(yè)面為截圖
這篇文章主要介紹了使用Python保存網(wǎng)頁(yè)上的圖片或者保存頁(yè)面為截圖的方法,保存網(wǎng)頁(yè)圖片主要用到urllib模塊,即簡(jiǎn)單的爬蟲(chóng)原理,需要的朋友可以參考下2016-03-03

