1. 程式人生 > 實用技巧 >049 模組6-wordcloud庫的使用

049 模組6-wordcloud庫的使用

目錄

一、wordcloud庫基本介紹

1.1 wordcloud庫概述

wordcloud是優秀的詞雲展示第三方庫

  • 詞雲以詞語為基本單位,更加直觀和藝術的展示文字

1.2 wordcloud庫的安裝

pip install wordcloud(cmd命令列)

二、wordcloud庫使用說明

2.1 wordcloud庫基本使用

wordcloud庫把詞雲當作一個WordCloud物件

  • wordcloud.WordCloud()代表一個文字對應的詞雲
  • 可以根據文字中詞語出現的頻率等引數繪製詞雲
  • 繪製詞雲的形狀、尺寸和顏色都可以設定

2.2 wordcloud庫常規方法

w = wordcloud.WordCloud()

  • 以WordCloud物件為基礎
  • 配置引數、載入文字、輸出檔案
方法描述
w.generate(txt) 向WordCloud物件w中載入文字txt,w.generate("Python and WordCloud")
w.to_file(filename) 將詞雲輸出為影象檔案,.png或.jpg?x-oss-process=style/watermark格式,w.to_file("outfile.png")
  • 步驟1:配置物件引數
  • 步驟2:載入詞雲文字
  • 步驟3:輸出詞雲檔案
import wordcloud

w = wordcloud.WordCloud()
w.generate("Python and WordCloud")
c.to_file("pywordcloud.png")

2.3 配置物件引數

w = wordcloud.WordCloud(<引數>)

引數描述
width 指定詞雲物件生成圖片的寬度,預設400畫素
height 指定詞雲物件生成圖片的高度,預設200畫素
min_font_size 指定詞雲中字型的最小字號,預設4號
max_font_size 指定詞雲中字型的最大字號,根據高度自動調節
font_step 指定詞雲中字型字號的步進間隔,預設為1
font_path 指定字型檔案的路徑,預設None
max_words 指定詞雲顯示的最大單詞數量,預設200
stop_words 指定詞雲的排除詞列表,即不顯示的單詞列表
mask 指定詞雲形狀,預設為長方形,需要引用imread()函式
background_color 指定詞雲圖片的背景顏色,預設為黑色
# mask
from imageio import imread 

mk=imread("pic.png")
w=wordcloud.WordCloud(mask=mk)

2.4 wordcloud應用例項

import wordcloud

txt = "life is short, you need python"
w = wordcloud.WordCloud(background_color="white")
w.generate(txt)
w.to_file("pywcloud.png")

中文需要先分詞並組成空格分隔字串

import jieba
import wordcloud

txt = "Nick 是上海虹橋最帥的男人,沒有之一,因為他就是最帥的"

w = wordcloud.WordCloud( width=1000,\
font_path="/Library/Fonts/Heiti.ttc",height=700)
w.generate(" ".join(jieba.lcut(txt)))
w.to_file("pywcloud.png")
import jieba
import wordcloud

txt = "Nick 是上海虹橋最帥的男人,沒有之一,因為他就是最帥的"

w = wordcloud.WordCloud( width=1000,\
font_path="/Library/Fonts/Heiti.ttc",height=700)
w.generate(" ".join(jieba.lcut(txt)))
w.to_file("pywcloud.png")
Building prefix dict from the default dictionary ...
Loading model from cache /var/folders/mh/krrg51957cqgl0rhgnwyylvc0000gn/T/jieba.cache
Loading model cost 1.047 seconds.
Prefix dict has been built succesfully.





<wordcloud.wordcloud.WordCloud at 0x1150979e8>