怎樣用Python生成詞云圖?wordcloud可視化指南

生成詞云圖的關(guān)鍵在于準(zhǔn)備數(shù)據(jù)和調(diào)整參數(shù)。1.安裝wordcloud、matplotlib和jieba庫;2.獲取并讀取文本數(shù)據(jù),中文需用jieba分詞處理;3.調(diào)用wordcloud類生成詞云,注意設(shè)置字體、尺寸和背景色;4.可選自定義形狀和顏色,通過mask參數(shù)使用圖像模板,結(jié)合colormap配色,并用stopwords過濾無意義詞匯。整個(gè)過程步驟清晰,但需注意細(xì)節(jié)如中文字體支持和遮罩格式。

怎樣用Python生成詞云圖?wordcloud可視化指南

生成詞云圖其實(shí)不難,python里有一個(gè)叫wordcloud的庫,專門用來做這種可視化。你只需要準(zhǔn)備好文本數(shù)據(jù),調(diào)用幾個(gè)函數(shù)就能生成漂亮的圖片。當(dāng)然,要讓它看起來更專業(yè)、更有針對(duì)性,還是得注意一些細(xì)節(jié)。

怎樣用Python生成詞云圖?wordcloud可視化指南

安裝必要的庫

首先你得確保安裝了wordcloud和matplotlib這兩個(gè)庫。如果還沒裝,可以用pip命令

怎樣用Python生成詞云圖?wordcloud可視化指南

  • pip install wordcloud
  • pip install matplotlib

有時(shí)候還需要處理中文,這時(shí)候建議順便裝上jieba分詞庫:

立即學(xué)習(xí)Python免費(fèi)學(xué)習(xí)筆記(深入)”;

  • pip install jieba

這幾個(gè)庫裝好之后,就可以開始制作詞云了。

怎樣用Python生成詞云圖?wordcloud可視化指南

準(zhǔn)備文本數(shù)據(jù)

詞云的基礎(chǔ)是文本內(nèi)容。你可以從各種地方獲取文本,比如網(wǎng)頁爬蟲、本地txt文件、社交媒體評(píng)論等等。只要把文本讀進(jìn)來就行。

舉個(gè)例子,如果你有一個(gè)text.txt文件,可以這樣讀取內(nèi)容:

with open('text.txt', 'r', encoding='utf-8') as f:     text = f.read()

如果是中文文本,一般還要先做分詞。這時(shí)候就用到前面提到的jieba了:

import jieba words = " ".join(jieba.cut(text))

這樣就把一段中文拆成一個(gè)個(gè)詞語,并用空格連接起來,方便后續(xù)處理。

生成基本詞云

有了文本之后,就可以創(chuàng)建詞云對(duì)象并生成圖像了。基礎(chǔ)代碼大概是這樣的:

from wordcloud import WordCloud import matplotlib.pyplot as plt  wc = WordCloud(font_path='simhei.ttf', width=800, height=600, background_color='white') word_cloud = wc.generate(words)  plt.imshow(word_cloud) plt.axis("off") plt.show()

這里面有幾個(gè)關(guān)鍵參數(shù):

  • font_path:指定字體文件,特別是顯示中文時(shí)必須設(shè)置,否則會(huì)報(bào)錯(cuò)或者出現(xiàn)方框。
  • width 和 height:控制輸出圖片的尺寸。
  • background_color:設(shè)置背景顏色,默認(rèn)是黑色,也可以改成白色或其他顏色。

如果你不想手動(dòng)調(diào)整這些參數(shù),也可以直接使用默認(rèn)值,但效果可能沒那么理想。

自定義詞云形狀和顏色

如果你想讓詞云更有特色,比如變成心形、圓形或者其他形狀,可以用mask參數(shù)來實(shí)現(xiàn)。你需要準(zhǔn)備一個(gè)黑白圖像作為模板,然后傳給WordCloud。

步驟大致如下:

  • numpy讀取圖像,轉(zhuǎn)為數(shù)組
  • 創(chuàng)建WordCloud對(duì)象時(shí)加入mask=image_array
  • 如果需要顏色也可以結(jié)合colormap設(shè)置配色方案

另外,還可以通過stopwords參數(shù)過濾掉你不想要的詞,比如“的”、“了”、“是”這類常見但無意義的詞匯。


基本上就這些操作了。雖然步驟看起來有點(diǎn)多,但其實(shí)每一步都不復(fù)雜,只是容易忽略某些小細(xì)節(jié),比如中文字體、停用詞、圖像遮罩格式等。只要你一步步來,很快就能做出好看的詞云圖。

? 版權(quán)聲明
THE END
喜歡就支持一下吧
點(diǎn)贊5 分享