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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > python >内容正文

python

python词云图代码示例 无jieba_【词云图】如何用python的第三方库jieba和wordcloud画词云图...

發(fā)布時(shí)間:2024/9/19 python 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python词云图代码示例 无jieba_【词云图】如何用python的第三方库jieba和wordcloud画词云图... 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

一直想學(xué)一下如何用python畫詞云圖,覺得很好玩,本文就寫一下我自己的一些嘗試。

1、提前準(zhǔn)備

一般準(zhǔn)備以下四樣就可以啦。

第一,電腦安裝python,我裝的是3.6。

第二,安裝第三方庫(kù)jieba和wordcloud,一個(gè)是用于分詞,一個(gè)用于生成詞云圖。python安裝這兩個(gè)第三方庫(kù)的方法也比較簡(jiǎn)單,在cmd里面輸入如下的命令行即可:

pip install jieba

pip install wordcloud

第三,準(zhǔn)備一份需要分詞的文檔,我這里隨便找了一份關(guān)于電影評(píng)價(jià)的文檔,記得要保存成txt文檔。如下所示。

image.png

第四,需要準(zhǔn)備一張你喜歡的圖片,用于生成詞云圖的形狀,這里要注意,最好選一個(gè)白底的圖片,輪庫(kù)比較明顯的,我選了下面這張小熊的圖片。

xiong.jpg

一切準(zhǔn)備就緒,就可以打開python寫代碼生成詞云圖啦。

2、書寫生成詞云圖代碼

2.1 首先把相關(guān)的包加載進(jìn)來

from os import path

from wordcloud import WordCloud

import matplotlib.pyplot as plt

from scipy.misc import imread

import jieba.analyse

像matplotlib和scipy都是python常用的包,如果沒有安裝好可以自行百度一下如何安裝。

2.2 加載準(zhǔn)備好的文檔和圖片

把movie.txt和xiong.jpg放在當(dāng)前目錄下。

CURRENT_PATH = path.dirname(path.abspath(__file__))

TEXT_FILE = path.join(CURRENT_PATH, 'movie.txt')

IMG_FILE = path.join(CURRENT_PATH, 'xiong.jpg')

2.3 定義一個(gè)分詞的函數(shù)

def get_frequencies():

with open(TEXT_FILE, 'r', encoding="GB2312") as f:

text = f.read()

words = jieba.analyse.extract_tags(text, topK=200, withWeight=True)

# words is list, change it to dict

return dict(words)

這個(gè)函數(shù)用jieba對(duì)文檔進(jìn)行分詞,topK是可以返回的最大的分詞數(shù)。這里有一個(gè)坑,我是從網(wǎng)上下載的movie.txt,要用notepad打開看一下編碼方式,我的文檔的編碼方式為GB2312,則在encoding后面寫GB2312,如果編碼方式為utf-8,把GB2312改成utf-8即可。

2.4定義一個(gè)制作詞云圖的函數(shù)

ef make_wordcloud(words):

# get mask

my_mask = imread(IMG_FILE)

# set wordcloud

my_wordcloud = WordCloud(

font_path="msyh.ttc",

background_color="white",

max_words=1000,

max_font_size=50,

width=1500,

height=1500,

mask=my_mask,

contour_width=2,

contour_color='steelblue'

)

# words must be dict

my_wordcloud.generate_from_frequencies(words)

return my_wordcloud

先用 imread函數(shù)把事先準(zhǔn)備好的圖片讀取出來,然后用WordCloud函數(shù)生成詞云圖,中間要輸入很多參數(shù),可以自己調(diào)節(jié),比如 background_color=”white”,這句代碼意思是設(shè)置詞云圖的背景顏色為白色,如果你想背景顏色為黑色,只要把white改成black即可。contour_width=2代表輪廓寬度為2,contour_color=’steelblue’代表輪廓顏色為藍(lán)色等。這些參數(shù)都可以自行調(diào)整。

2.5 定義顯示詞云圖和保存詞云圖的函數(shù)

def show_it(wordcloud):

# show it

plt.imshow(wordcloud)

plt.axis('off')

plt.show()

def save_it(wordcloud, name):

filename = '{}.jpg'.format(name)

wordcloud.to_file(path.join(CURRENT_PATH, filename))

圖片保存在當(dāng)前目錄下。

2.6 主函數(shù)運(yùn)行程序

if __name__ == '__main__':

words = get_frequencies()

wordcloud = make_wordcloud(words)

show_it(wordcloud)

save_it(wordcloud, 'my_wordcloud')

3、結(jié)果展示

運(yùn)行代碼之后生成的詞云圖如下所示。

my_wordcloud.jpg

從生成的詞云圖中可以看出有一些詞在文檔中出現(xiàn)次數(shù)比較高,所以字相對(duì)比較大,比如高爾夫球,阿甘正傳,努力,魯迅等。

前后對(duì)比一下,有沒有覺得很可愛,可以自己動(dòng)手試試哦。

image.png

作者:額_e8fa

總結(jié)

以上是生活随笔為你收集整理的python词云图代码示例 无jieba_【词云图】如何用python的第三方库jieba和wordcloud画词云图...的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

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