導航:首頁 > 編程語言 > 如何使用python3製作詞雲

如何使用python3製作詞雲

發布時間:2023-12-18 06:08:16

⑴ 如何使用python來實現個性化詞雲的示例代碼分享

#coding=utf-8
#usingpython27
fromosimportpath
fromPILimportImage
importnumpyasnp
importmatplotlib.pyplotasplt

fromwordcloudimportWordCloud,STOPWORDS,ImageColorGenerator

#d=path.dirname(__file__)

#Readthewholetext.
text=open(r'C:StudyPythonwordcloud_alice.txt').read()

#readthemask/colorimagetakenfrom
#http://jirkavinse.deviantart.com/art/quot-Real-Life-quot-Alice-282261010
alice_coloring=np.array(Image.open(r'C:StudyPythonwordcloud_alice_color.png'))
stopwords=set(STOPWORDS)
stopwords.add("said")

wc=WordCloud(background_color="white",max_words=2000,mask=alice_coloring,
stopwords=stopwords,max_font_size=40,random_state=42)
#generatewordcloud
wc.generate(text)

#createcoloringfromimage
image_colors=ImageColorGenerator(alice_coloring)

#show
plt.imshow(wc,interpolation="bilinear")
plt.axis("off")
plt.figure()
#recolorwordcloudandshow
#wecouldalsogivecolor_func=image_
plt.imshow(wc.recolor(color_func=image_colors),interpolation="bilinear")
plt.axis("off")
plt.figure()
plt.imshow(alice_coloring,cmap=plt.cm.gray,interpolation="bilinear")
plt.axis("off")
plt.show()

執行這個代碼還需要兩個文件, 網路知道不能上傳, 可以用扣或者私我傳給你

運行結果:

⑵ Python 畫好看的雲詞圖

詞雲圖是數據分析中比較常見的一種可視化手段。詞雲圖,也叫文字雲,是對文本中出現頻率較高的 關鍵詞 予以視覺化的展現,出現越多的詞,在詞雲圖中展示越顯眼。詞雲圖過濾掉大量低頻低質的文本信息,因此只要一眼掃過文本就可 領略文章主旨

例如👆上面這張圖,看一眼就知道肯定是新華網的新聞。

那生成一張詞雲圖的主要步驟有哪些?這里使用 Python 來實現,主要分三步:

首先是「結巴」中文分詞 jieba 的安裝。

對於英文文本,word_cloud 可以直接對文本源生成詞雲圖。但是對中文的支持沒有那麼給力,所以需要先使用 jieba 對中文文本進行分詞,把文章變成詞語,然後再生成詞雲圖。例如:

jieba.cut 分詞:方法接受三個輸入參數,sentence 需要分詞的字元串;cut_all 用來控制是否採用全模式;HMM 用來控制是否使用 HMM 模型。

jieba.cut_for_search 分詞:方法接受兩個參數,sentence 需要分詞的字元串;是否使用 HMM 模型。該方法適合用於搜索引擎構建倒排索引的分詞,粒度比較細。

jieba.analyse.textrank 使用 TextRank 演算法從句子中提取關鍵詞。

然後安裝 wordcloud 詞雲圖庫。

如果執行上面命令後,顯示 success,那麼恭喜你,安裝成功了。
我就遇到了 Failed building wheel for wordcloud 的錯誤。於是先安裝 xcode-select, 再安裝 wordcloud 即可(無需安裝 Xcode)。

wordcloud 庫把詞雲當作一個 WordCloud 對象,wordcloud.WordCloud() 代表一個文本對應的詞雲,可以根據文本中詞語出現的頻率等參數繪制詞雲,繪制詞雲的形狀、尺寸和顏色。

1、首先導入文本數據並進行簡單的文本處理
2、分詞
3、設置遮罩

注意:
1、默認字體不支持中文,如果需要顯示中文,需要設置中文字體,否則會亂碼。
2、設置遮罩時,會自動將圖片非白色部分填充,且圖片越清晰,運行速度越快

其中 WordCloud 是雲詞圖最重要的對象,其主要參數描述如下:

效果如下圖:

上小結是將文章中所有內容進行分詞,輸出了所有詞,但很多時候,我們有進一步的需求。例如:
1、只需要前 100 個關鍵詞就夠了。
2、不需要五顏六色的詞語,應與遮罩圖片顏色一致。

100個關鍵詞,我們在分詞時使用 TextRank 演算法從句子中提取關鍵詞。
遮罩顏色可通過設置 WordCloud 的 color_func 屬性。

最終效果如下:

⑶ python如何自定義詞雲

推薦使用jieba模塊來實現分詞,WordCloud來繪制詞雲。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
# -*- coding: utf-8 -*-

from PIL import Image
import numpy as np
import matplotlib.pyplot as plt
import jieba
from wordcloud import WordCloud, STOPWORDS

# Read the whole text.
text = open('內容.txt', 'r').read()
text = " ".join(jieba.cut(text, cut_all=False))

# 愛心.png表示你繪圖模板,就是最後圖片的形狀
alice_mask = np.array(Image.open('愛心.png'))
# 中文需要設置字體,songti.ttf代表宋體
wc = WordCloud(font_path='songti.ttf', background_color="white", mask=alice_mask,
max_words=2000)
# generate word cloud
wc.generate(text)

# store to file
wc.to_file('result.png')

# show
plt.imshow(wc)
plt.axis("off")
# plt.figure()
# plt.imshow(alice_mask, cmap=plt.cm.gray)
# plt.axis("off")
plt.show()

⑷ 詞雲圖怎麼做

詞雲圖做法如下:
1.第一種方法:藉助在線工具,也就是在網頁上就能完成詞雲圖的製作和輸出。目前支持在線製作詞雲圖的網站有:WordArt、Wordiout、微詞雲、易詞雲、美寄詞雲等;
2.第二種方法:直接使用有詞雲圖製作功能的軟體,比如:FineBI、Tableau、SmartBI、BDP等,詞雲圖只是這些軟體的一個小功能;
3.第三種方法:通過編程來實現詞雲圖,常用的編程語言有Python和R。對於有編程技術基礎的朋友,可以自行用Python等製作詞雲圖,對於沒有編程基礎的朋友採取前兩種方法,這兩種方法操作起來比較容易。

⑸ 使用python wordcloud庫實現詞雲,教你兩招輕松搞定

wordcloud庫簡介

python中的word cloud庫是一個用來製作詞雲的第三方庫

安裝wordcloud 庫

pip install wordcloud123

使用w = wordcloud.WordCloud() 創建一個詞雲對象

2.WordCloud() 參數介紹

3.實現效果

4.問題

並沒有按照詞雲的樣式展示,這里需要使用 jieba庫進行分詞

安裝jieba庫

pip install jieba

5.使用jieba庫進行分詞

6.效果

將txt文本中的內容生成詞雲

獲取文件中的內容

f = open('./xxx.txt', 'r', encoding='utf-8')

 text = f.read()

說明

encoding=『utf-8』 這個參數表示 讀取的內容以utf-8的編碼方式讀取文件

如果沒有這個參數,會出現如下的報錯信息

⑹ python中對已經排好序的詞語怎麼做詞雲

期末復習比較忙過段時間來專門寫scrapy框架使用,今天介紹如何用python生成詞雲,雖然網上有很多詞雲生成工具,不過自己用python來寫是不是更有成就感。

今天要生成的是勵志歌曲的詞雲,網路文庫裡面找了20來首,如《倔強》,海闊天空是,什麼的大家熟悉的。

所要用到的python庫有 jieba(一個中文分詞庫)、wordcould 、matplotlib、PIL、numpy。

首先我們要做的是讀取歌詞。我將歌詞存在了文件目錄下勵志歌曲文本中。

現在來讀取他

12345#encoding=gbklyric= ''f=open('./勵志歌曲歌詞.txt','r')for i in f:lyric+=f.read()

加入#encoding=gbk是為了防止後面操作報錯SyntaxError: Non-UTF-8 code starting with 'xc0'

然後我們用jieba分詞來對歌曲做分詞提取出詞頻高的詞

123456import jieba.analyseresult=jieba.analyse.textrank(lyric,topK=50,withWeight=True)keywords = dict()for i in result:keywords[i[0]]=i[1]print(keywords)

得到結果:

12345678910111213from PIL import Image,ImageSequenceimport numpy as npimport matplotlib.pyplot as pltfrom wordcloud import WordCloud,ImageColorGeneratorimage= Image.open('./tim.jpg')graph = np.array(image)wc = WordCloud(font_path='./fonts/simhei.ttf',background_color='White',max_words=50,mask=graph)wc.generate_from_frequencies(keywords)image_color = ImageColorGenerator(graph)plt.imshow(wc)plt.imshow(wc.recolor(color_func=image_color))plt.axis("off")plt.show()

保存生成圖片

1wc.to_file('dream.png')

完整代碼:

#encoding=gbkimport jieba.analysefrom PIL import Image,ImageSequenceimport numpy as npimport matplotlib.pyplot as pltfrom wordcloud import WordCloud,ImageColorGeneratorlyric= ''f=open('./勵志歌曲歌詞.txt','r')for i in f:lyric+=f.read()result=jieba.analyse.textrank(lyric,topK=50,withWeight=True)keywords = dict()for i in result:keywords[i[0]]=i[1]print(keywords)image= Image.open('./tim.jpg')graph = np.array(image)wc = WordCloud(font_path='./fonts/simhei.ttf',background_color='White',max_words=50,mask=graph)wc.generate_from_frequencies(keywords)image_color = ImageColorGenerator(graph)plt.imshow(wc)plt.imshow(wc.recolor(color_func=image_color))plt.axis("off")plt.show()wc.to_file('dream.png')

以上這篇python生成詞雲的實現方法(推薦)就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

⑺ 用python畫一個國慶詞雲圖

使用wordcloud模塊。

⑻ python如何生成詞雲圖

from wordcloud import WordCloud
import jieba
import numpy
import PIL.Image as Image
#1.將字元串切分
def chinese_jieba(text):
wordlist_jieba=jieba.cut(text)
space_wordlist=" ".join(wordlist_jieba)
return space_wordlist
with open("test.txt" ,encoding="utf-8")as file:
text=file.read()
text=chinese_jieba(text)
#2.圖片遮罩層
mask_pic=numpy.array(Image.open("china.jpg"))
#3.將參數mask設值為:mask_pic
wordcloud = WordCloud(font_path="C:/Windows/Fonts/simfang.ttf",mask=mask_pic).generate(text)
image=wordcloud.to_image()
image.show()

如圖所示

閱讀全文

與如何使用python3製作詞雲相關的資料

熱點內容
android電視游戲 瀏覽:670
得物app用什麼方式出售 瀏覽:783
linuxandroid模擬器下載 瀏覽:971
php類常量訪問 瀏覽:586
視頻文件壓縮工具 瀏覽:13
什麼什麼佳人app 瀏覽:6
施耐德cfc編程 瀏覽:322
如何把pdf文件轉成圖片 瀏覽:538
張劍閱讀150篇pdf 瀏覽:359
拉卡拉收款寶app叫什麼名 瀏覽:340
c4d動態解壓 瀏覽:711
多個pdf合並為一個 瀏覽:314
程序中的編譯執行 瀏覽:32
plc控制與單片機控制 瀏覽:884
如何讓安卓手機操控電腦 瀏覽:187
電腦電銷加密電話號碼破解 瀏覽:507
世界史綱pdf 瀏覽:135
湖北社保年審app叫什麼名字 瀏覽:854
邁達克雲伺服器 瀏覽:599
mfc深入淺出從mfc設計到mfc編程 瀏覽:83