wordcloud繪製詞雲圖

1.wordcloud的安裝

我直接推薦一種簡單方式
cmd命令行輸入以下命令就可以了。

pip install wordcloud

2.wordcloud庫介紹

wordcloud庫,可以說是python非常優秀的詞雲展示第三方庫。詞雲以詞語爲基本單位更加直觀和藝術的展示文本,下面給大家看一個示例:
在這裏插入圖片描述

3.wordcloud的使用

接下來,介紹下wordcloud的基本使用。wordcloud把詞雲當作一個對象,它可以將文本中詞語出現的頻率作爲一個參數繪製詞雲,而詞雲的大小、顏色、形狀等都是可以設定的。

import  wordcloud
c =wordcloud.wordcloud()

wordcloud把詞雲當做一個wordcloud對象,後面的操作都是基於這個wordcloud對象進行的。

wordcloud庫的基本使用

  1. 配置對象參數(設置wordcloud對象生成詞雲圖片寬度長度,背景,字體,大小等)
  2. 加載詞雲文本(輸入一個txt文件或者一個字符串都可以)
  3. 輸出詞雲文件(輸入詞雲圖片)
    下面我們看一個例子
import wordcloud
txt ='lift is short,you need python'
w =wordcloud.WordCloud()#wordcloud.WordCloud()代表一個文本對應的詞雲
w.generate(txt)#向wordcloud對象w中加載文本txt
w.to_file(r"C:\Users\lixue\Desktop\mywordcloud.png")#將詞雲輸出爲圖像文件,png或者jpg格式

結果生成一個這樣的圖片
在這裏插入圖片描述
當你會這幾行代碼,基礎詞雲圖繪製你也大致掌握了。然後我們可以講一下詞雲圖繪製的細節。

配置對象參數

這裏我羅列一些大家可以參考一下。
在這裏插入圖片描述
這些參數是我們必須要掌握的,然後大致學會使用,有的時候默認參數可以的話,你就不需要更改參數了。
還有我們對上面的參數舉幾個例子。
這個例子是指定一個詞雲圖像,生成我們想要的圖形,主要是一個美觀的作用。

from wordcloud import WordCloud
import matplotlib.pyplot as plt
from scipy.misc import imread
#讀取一個txt文件
text = open(r'C:\Users\lixue\Desktop\test.txt','r').read()
#讀入背景圖片
bg_pic = imread(r'C:\Users\lixue\Desktop\人型.png')
#生成詞雲
wordcloud = WordCloud(mask=bg_pic,background_color='white',scale=1.5).generate(text)
#顯示詞雲圖片
plt.imshow(wordcloud)
plt.axis('off')
plt.show()
#保存圖片
wordcloud.to_file(r'C:\Users\lixue\Desktop\test.png')

在這裏插入圖片描述
也可以是這種
在這裏插入圖片描述
總之生成詞雲圖形狀很多,這個看大家自己的選擇了。

中文詞雲圖的生成

如當我們繪製中文詞雲圖時,採用默認的參數,生成的詞雲圖會亂碼,圖片上面的詞不能正常顯示,這個是因爲wordcloud默認是不支持顯示中文的,中文會被顯示成方框。還有中文和英文不同,中文字之間沒有空格,和英文的有很大區別。wordlcloud.WordCloud類初始化函數有個設置字體的參數font_path,把支持中文的字體的路徑傳給font_path。。

from wordcloud import WordCloud
import matplotlib.pyplot as plt
from scipy.misc import imread
import jieba
import wordcloud

text = open(r'C:\Users\lixue\Desktop\shuju_test.txt','r',encoding='utf-8').read()
#讀入背景圖片
bg_pic = imread(r'C:\Users\lixue\Desktop\人型.png')
#生成詞雲
wo1 = WordCloud(mask=bg_pic,background_color='white',scale=1.5,font_path =r'C:\Users\lixue\Desktop\simhei.ttf')
wo1.generate(' '.join(jieba.lcut(text)))
plt.imshow(wo1)
plt.axis('off')
plt.show()
wo1.to_file(r'C:\Users\lixue\Desktop\test1.png')
#顯示詞雲圖片

大家可以看看效果
在這裏插入圖片描述
至於詞雲圖更多操作以及效果美化的話,大家可以自己琢磨一下,下面我把我的數據和中文字體文件放在下面的鏈接,有興趣多的話可以下載。
鏈接:https://pan.baidu.com/s/1JiX445LlV3UCWWs0VkyARw
提取碼:ukzu

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章