python scale()函数_【Python菜鸟进阶大神】Matplotlib数据可视化007:词云
詞云是對(duì)網(wǎng)絡(luò)文本中出現(xiàn)頻率較高的關(guān)鍵詞予以視覺上的突出,形成關(guān)鍵詞云層或關(guān)鍵詞渲染,從而過濾掉大量的文本信息,使讀者只要一眼掃過文本就可以領(lǐng)略文本的主旨。
詞云用Python是怎么實(shí)現(xiàn)的。用wordcloud模塊就可以實(shí)現(xiàn),主要功能是用文本詞匯和詞頻以圖片展示。直觀形象反映詞匯在所有文章中的比重,如:人物標(biāo)簽的特性、評(píng)論區(qū)情緒等等。
目 錄
wordcloud詞云和jieba分詞模塊的安裝
WordCloud函數(shù)參數(shù)介紹
代碼
安裝模塊
pip install + Packagename模塊名稱
1、先查看已經(jīng)安裝的包模塊
命令 : pip list
2、安裝wordcloud和jieba
有些包如果在程序編寫的時(shí)候找不到,都可以用“pip install + Packagename模塊名稱”的方法去安裝。
因?yàn)槲业囊呀?jīng)安裝過,所以提示已經(jīng)存在。
包安裝完畢,我們先看看WordCloud()參數(shù):
參數(shù)說明
help(WordCloud)
WordCloud(font_path=None,width=400,height=200,margin=2,ranks_only=None,prefer_horizontal=0.9,mask=None,scale=1,color_func=None,max_words=200,min_font_size=4,stopwords=None,random_state=None,background_color='black',max_font_size=None,font_step=1,mode='RGB',relative_scaling='auto',regexp=None,collocations=True,colormap=None,normalize_plurals=True,contour_width=0,contour_color='black', repeat=False)
font_path : string 字體路徑,需要展現(xiàn)什么字體就把該字體路徑+后綴名寫上,如:font_path = '黑體.ttf'
width : int (default=400) 輸出的畫布寬度,默認(rèn)為400像素
height : int (default=200) 輸出的畫布高度,默認(rèn)為200像素
prefer_horizontal : float (default=0.90) 詞語水平方向排版出現(xiàn)的頻率,默認(rèn) 0.9
mask : nd-array or None (default=None) 若參數(shù)為空,則正常繪制詞云。如果 mask 非空,設(shè)置的寬高值將被忽略,形狀被 mask 取代。除白色的部分將不會(huì)繪制,其余部分會(huì)用于繪制詞云。
scale : float (default=1) 按照比例進(jìn)行放大畫布,如設(shè)置為2,則長(zhǎng)和寬都是原來畫布的2倍。
min_font_size : int (default=4) 顯示的最小的字體大小
font_step : int (default=1) 字體步長(zhǎng),如果步長(zhǎng)大于1,會(huì)加快運(yùn)算但是可能導(dǎo)致結(jié)果出現(xiàn)較大的誤差。
max_words : number (default=200) 要顯示的詞的最大個(gè)數(shù)
min_font_size : int (default=4) 顯示的最小的字體大小
font_step : int (default=1) 字體步長(zhǎng),如果步長(zhǎng)大于1,會(huì)加快運(yùn)算但是可能導(dǎo)致結(jié)果出現(xiàn)較大的誤差。
max_words : number (default=200) 要顯示的詞的最大個(gè)數(shù)
stopwords : set of strings or None 設(shè)置需要屏蔽的詞,如果為空,則使用內(nèi)置的STOPWORDS
background_color: color value (default=”black”) 背景顏色,如background_color='white',背景顏色為白色。
max_font_size : int or None (default=None) 顯示的最大的字體大小
mode : string (default=”RGB”) 當(dāng)參數(shù)為“RGBA”并且background_color不為空時(shí),背景為透明。
relative_scaling : float (default=.5) 詞頻和字體大小的關(guān)聯(lián)性
color_func : callable, default=None 生成新顏色的函數(shù),如果為空,則使用 self.color_func
regexp : string or None (optional) 使用正則表達(dá)式分隔輸入的文本
collocations : bool, default=True 是否包括兩個(gè)詞的搭配
colormap: string or matplotlib colormap, default=”viridis” 給每個(gè)單詞隨機(jī)分配顏色,若指定color_func,則忽略該方法。
代碼實(shí)現(xiàn)
#加載包
from wordcloud import WordCloud
import jieba
from PIL import Image
from imageio import imread
import numpy as np
from matplotlib import pyplot as plt
# 繪圖
fig,ax=plt.subplots() #定義畫板
# 打開文件,包含文本類型的文件
with open(r'C:UsersAdministratorDesktopTT.txt','r') as f:
text=f.read()
# 用jieba分詞
wsplit=jieba.lcut(text)
# 將分好的詞用join連接
words=" ".join(wsplit)
# 設(shè)定詞云的形狀,用imread函數(shù)讀入圖片
shape=imread(r'C:UsersAdministratorDesktop099667.png')
#自定義參數(shù)
mycloudword=WordCloud(font_path=r'C:WindowsFontsmsyh.ttf', #字體
scale=8,
margin=1, #頁邊距
background_color='black', #背景色
mask=shape, #形狀
max_words=1500, #包含的最大詞量
min_font_size=14, # 最小的字體
max_font_size=95, #最大字體
stopwords=STOPWORDS, #屏蔽的詞,為空
random_state=4567).generate(words) #隨機(jī)種子,隨便設(shè);最后用.genderate()方法傳入分好的詞
# 顯示詞云
ax.imshow(mycloudword)
#不要坐標(biāo)軸
ax.axis("off")
plt.show()
# 將生成的詞云保存成png文件,儲(chǔ)存本地
mycloudword.to_file(r"C:UsersAdministratorDesktop33535.png")
效果圖如下:
這里展示的是隨便寫入txt文檔的關(guān)于Python,機(jī)器學(xué)習(xí),大數(shù)據(jù)的一些詞,圖片用證件照。
當(dāng)然,你可以將你想要的展示的詞文,展示成任何樣子,只需要將參數(shù)mask=shape,這里的shape定義成你想要的的圖片的樣子。
原文鏈接https://mp.weixin.qq.com/s/hzrIbH4RonYwqPVtukDkRg
總結(jié)
以上是生活随笔為你收集整理的python scale()函数_【Python菜鸟进阶大神】Matplotlib数据可视化007:词云的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: inventor扳手制作视频_安全的安全
- 下一篇: python什么模块动态调用链接库_py