繪制詞云圖的步驟如下:
導(dǎo)入所需的庫(kù):一般使用matplotlib
進(jìn)行繪圖,wordcloud
用于生成詞云圖,jieba
用于分詞,numpy
用于數(shù)據(jù)處理。
準(zhǔn)備文本數(shù)據(jù):將要生成詞云圖的文本數(shù)據(jù)準(zhǔn)備好,可以從文件中讀取或者直接寫(xiě)在代碼中。
數(shù)據(jù)預(yù)處理:對(duì)文本數(shù)據(jù)進(jìn)行預(yù)處理,如去除標(biāo)點(diǎn)符號(hào)、數(shù)字、停用詞等。
分詞:使用jieba
庫(kù)對(duì)文本進(jìn)行分詞,得到分詞后的詞列表。
統(tǒng)計(jì)詞頻:統(tǒng)計(jì)分詞后的詞頻,得到每個(gè)詞出現(xiàn)的次數(shù)。
創(chuàng)建詞云對(duì)象:使用wordcloud.WordCloud
創(chuàng)建一個(gè)詞云對(duì)象。
生成詞云圖:使用詞云對(duì)象的generate_from_frequencies
方法生成詞云圖。
顯示詞云圖:使用matplotlib
庫(kù)顯示詞云圖。
以下是一個(gè)示例代碼:
import matplotlib.pyplot as plt
from wordcloud import WordCloud
import jieba
import numpy as np
# 準(zhǔn)備文本數(shù)據(jù)
text = "這是一個(gè)示例文本,用于生成詞云圖。"
# 數(shù)據(jù)預(yù)處理
# ...
# 分詞
word_list = jieba.lcut(text)
# 統(tǒng)計(jì)詞頻
word_freq = {}
for word in word_list:
if word not in word_freq:
word_freq[word] = 1
else:
word_freq[word] += 1
# 創(chuàng)建詞云對(duì)象
wc = WordCloud(background_color="white")
# 生成詞云圖
wc.generate_from_frequencies(word_freq)
# 顯示詞云圖
plt.imshow(wc, interpolation='bilinear')
plt.axis("off")
plt.show()
運(yùn)行以上代碼即可生成一個(gè)簡(jiǎn)單的詞云圖。